I shared this with @julienw and he mentioned the addition of "enter" and "leave" events, so I pulled the branch and added them here and it works as I expected it to, which is: "leave" is fired immediately when the tab is pressed, "enter" is fired when the transition completes.

```js
if (!value) {
  this.emit('enter');
  this.element.classList.add('hidden');
} else {
  this.emit('leave');
  this.element.classList.remove('hidden');
}
```

What do you think about this addition?