hopefully not dependent on browserify.  multi-browser friendly via dynamic transition type, optional onEnd callback, emits standardized event from element