Change method names, add more utility methods.
Handle errors more graciously
Make differentiating between touch and mouse events easier