committing some skeleton stuff for the joystick abstractions so that it can be accessible to others