public function addChainModel(ChainModel $chainModel) {
        if(isset($this->chainModels[$chainModel->getId()])){
           throw new InvalidArgumentException(sprintf("The chain model to '%s' is already added, please add you model to tag '%s'",$chainModel->getClassName(),$chainModel->getClassName())); 
        }
        $chainModel->setContainer($this->container);
        $this->chainModels[$chainModel->getId()] = $chainModel;
    }