public function get(string $id)
    {
        if (!isset($this->values[$id])) {
            throw new OutOfBoundsException("Value {$id} is not defined in the container");
        }
        if ($this->values[$id] instanceof Closure) {
            return $this->values[$id]($this);
        }

        return $this->values[$id];
    }