I would probably get rid of the generic visibility change event in favor of a dual event like this.  `shown` and `hidden` make more sense to me for naming.  cc @jugglinmike, thoughts?