public function &get($key) {
        if ($this->has($key)) {
            $object = $this->_registered[$key];

            if ($object instanceof Closure) {
                $object = $this->set(call_user_func($object), $key);
            }

            return $object;
        }

        throw new MissingObjectException(sprintf('Object %s does not exist in the container', $key));
    }