public function className($className, $arguments = null, $constructor = null)
    {
        // flush maybe exisiting content
        $this->flush();

        // store className
        $this->className = $className;

        // add arguments if given
        if (!is_null($arguments) && is_array($arguments)) {
            $this->getCollection()->setArguments($className, $arguments);
        }

        // add constructor if given
        if (!is_null($constructor)) {
            $this->getCollection()->setConstructor($className, $constructor);
        }

        // fluent interface
        return $this;
    }