Refactor 'modal'

* Use new 'dom' helper
* Account for multiple transitions