That's kind of beautiful. Along the lines of the anis alias, I noticed that it gets aliased in _play(), and then again in a lot of the promise methods declared inside of _play. Was this done to avoid creating a closure, or should we get rid of the other aliases?