public function add(ModelObject $obj)
    {
        $obj->CreationDate = $this->DateFactory->newStorageDate();
        if(!$obj->hasModifiedDate())
            $obj->ModifiedDate = $this->DateFactory->newStorageDate();

        $this->validator->validateFor(__FUNCTION__, $obj)->throwOnError();

        return $this->dao->add($obj);
    }