public function setObjectPrototype($objectPrototype)
    {
        if (!is_object($objectPrototype)) {
            throw new Exception\InvalidArgumentException(
                sprintf(
                    'Object prototype must be an object, given "%s"',
                    gettype($objectPrototype)
                )
            );
        }

        $this->objectPrototype = $objectPrototype;
        return $this;
    }