Gamepad refactoring - added circular buffer data structure