public function get($id)
    {
        if (isset($this->singletons[$id])) {
            return $this->singletons[$id];
        }

        $methodName = 'get' . Util::mapIdToCamelCase($id);

        if (method_exists($this, $methodName)) {
            return $this->$methodName();
        }

        throw new \InvalidArgumentException("Unknown service '$id' in container '" . get_called_class() . "'");
    }