popup: split own functionality into target modifiers (close #968)

it's inconsistent to have two ways to update content of popup (which apply differently depend on just modifier)