We ensure that block|unblock|view|get/setstate events are ordered did not ensure that a channel is returned into a starting state with respect to events. Therefore, Flush should always ensure that first event that channel receives should always be BLOCK and the last event should be UNBLOCK.
Added this check in FlushTest.