Ported from Highlight class since it as a concept is more related to blob, and this allows more flexibility.