public function addBehavior($behavior, $config = array())
    {
        if (! ($behavior instanceof AnBehaviorInterface)) {
            $behavior = $this->_mixer->getBehavior($behavior, $config);
        }

        //Add the behaviors
        $this->_behaviors[$behavior->getIdentifier()->name] = $behavior;

        //Enqueue the behavior
        $this->getCommandChain()->enqueue($behavior);

        //Mixin the behavior
        if ($this->_auto_mixin) {
            $this->mixin($behavior);
        }

        return $this->_mixer;
    }