Is it possible to make this more declarative and/or to be able to pass in the hide/show methods. I think you should actually be able to do this by listening to the model change event. Which would remove the need to do the model equality check as well.