public function remove($key)
    {
        unset($this->_definitions[$key], $this->_singletons[$key]);
        foreach ($this->_aliases as $alias => $akey) {
        	if ($akey === $key) {
        		unset($this->_aliases[$alias]); 
        		break;
        	}
        }
    }