 		// ================================================================================================================
 		// STATIC CONSTRUCTOR ---------------------------------------------------------------------------------------------
 
+		/**
+		 * Initializes the KeyActionBinder class. This is necessary to allocate global references needed by
+		 * KeyActionBinder instances.
+		 *
+		 * <p>Due to bugs in Flash's GameInput API (especially on OUYA and Android), this initialization should be
+		 * done in the first frame of your SWF, preferably in the root class of your movie.</p>
+		 *
+		 * @param stage		Flash's global stage, used for adding event listeners.
+		 *
+		 * @see #KeyActionBinder()
+		 */
 		public static function init(__stage:Stage):void  {
 			stage = __stage;
 

		// ================================================================================================================
		// CONSTRUCTOR ----------------------------------------------------------------------------------------------------

		public function KeyActionBinder() {
			_alwaysPreventDefault = true;
			_maintainPlayerPositions = false;

			return _alwaysPreventDefault;
		}

		/**
		 * Whether to run <code>preventDefault()</code> on Keyboard events or not.
		 *
		 * <p>When this is set to <code>false</code>, KeyActionBinder doesn't try stopping the propagation of
		 * standard Keyboard behavior. In general, this is a bad idea, as certain keys (such as A on the OUYA)
		 * tend to trigger a <code>Keyboard.BACK</code> key event, potentially closing your application. Only
		 * set this to <code>false</code> if you are handling Keyboard events in your own code.</p>
		 *
		 * <p>Default is true.</p>
		 */
		public function set alwaysPreventDefault(__value:Boolean):void {
			// TODO: this is a dumb getter/setter just for ASDocs reasons
			_alwaysPreventDefault = __value;
