EnableIf ignore call without real state change.

EnableIf shouldn't do anything when it's called
without a change in the final component state,
i.e. it shouldn't try to remove or add listeners
to a component which will end in the same state
after the call.