Bug 1068479 - Copy paste toolbox has no hit state

https://bugzilla.mozilla.org/show_bug.cgi?id=1068479
Agree; what's more: in current convention, open/close is expected to have animation, show/hide is expected to show/hide something immediately. We need some function/module to take care any transition introduced otherwise we will run into ill transition states, again.

It's up to you to write a state machine here or just try to study/reuse the appTransitionController.
handleEvent suggested by Tim is a good start point;

```js
  start: function() {
    this.element.addEventListener('transitionend', this);
  },
  handleEvent: function(evt) {
    if ('transitionend' === evt.type) {
      switch (this.currentTransitionState) {
        case 'closing':

        case 'closed':
        case 'opened':
      }
    }
  }
```