 		}
 
 		/**
-		 * Remove a SASL mechanism.
-		 *
-		 * TODO: Combine to extension disabling..
-		 *
-		 *
-		 * @param	name
-		 */
-		public static function disableSASLMechanism( name:String ):void
-		{
-			SASL_MECHANISMS[ name ] = null;
-		}
-
-		/**
-		 * Add a SASL mechanism.
-		 *
-		 * TODO: Combine to extension enabling..
+		 * Add a SASL mechanism available for this connection
 		 *
 		 * @param	name
 		 * @param	authClass
 		 */
-		public static function registerSASLMechanism( name:String, authClass:Class ):void
-		{
-			SASL_MECHANISMS[ name ] = authClass;
+		public function enableSASLMechanism( name:String, authClass:Class ):void
+		{
+			saslMechanisms[ name.toUpperCase() ] = authClass;
+		}
+
+		/**
+		 * Remove a SASL mechanism from this connection
+		 *
+		 * @param	name
+		 */
+		public function disableSASLMechanism( name:String ):void
+		{
+			saslMechanisms[ name.toUpperCase() ] = null;
 		}
 
 		/**


		/**
		 * Connection is ready to authenticate
		 */
		protected function get authenticationReady():Boolean
		{

		}

		/**
		 * Use the authentication which is first in the list (<code>saslMechanisms</code>) if possible.
		 *
		 * @param	mechanisms
		 * @see #saslMechanisms
		 */
		protected function configureAuthMechanisms( mechanisms:XML ):void
		{
