Events On/Off, and Scope

Events On/Off seem a little misleading. If it’s not too late what about Attach/Detach?

Also, the comment in the events example:

        // remove move event listeners
        player.script.player.off("move");

Does this remove all event listeners for the MOVE event regardless of origin?

I can understand how the Player class may want to have that ability, especially during destruction, but should other classes have that kind of control over others?

That’s right.

object.off("move") will remove all “move” events
object.off("move", fn) will remove a specific move event.
object.off("move", fn, scope) will remove a specific move event with a specfic scope.

I’m not sure there would be a way to limit this functionality to a single class.