Keep minimal number of highlighting states: use unique set of all states, store ptr to state obj as block state.