void Object::_remove(const TypeIdentifier& i_trait_name)
    {
      if (m_deleting)
      {
        return ;
      }

      InternalMessage("Kernel","removed trait " + i_trait_name.toString()
                               + " to objectid=" + toString(getIdentifier())) ;

      Trait* trait = traits[i_trait_name] ;
      trait->_close() ;
      TraitFormula::removeTrait(this,i_trait_name) ;
      
      this->traits.erase(i_trait_name) ;
      delete trait ;
    }