Okay, fair enough if it works. Potentially we'll have to send some richer information to "pointers-changed" i.e. some sort of indication as to what action is currently being performed, so that the `pointers-changed` method can change the appearance of cursors to reflect that to the user.

Also, this pattern where you have a bunch of if statements each ending in return, is probably better implemented using a `switch`...`case` statement.