Joystick API Reboot #2 (work in progress)