Implements basic support for gamepad and generic system for commands