move suppression logic to item to make it observable
delegate suppression methods to item