refactored KeyboardCommand to ControlCommand and added m_id to controller