final public function saveObject(Model $object)
    {
        $this->onObjectSaved($object);

        if ($object->getUniqueIdentifier() === null) {
            throw new ModelException("The object could not be saved as it has no unique identifier.", $object);
        }

        $this->cacheObjectData($object);
    }