public function make($from, $type)
    {
        $type = $type ?: static::SIMPLE;

        switch ($type)
        {
            case static::SIMPLE:
                return new Container($from);
            case static::REVERTABLE:
                return new RevertableContainer($from);
            default:
                throw new InvalidArgumentException('Argument 2 is invalid');
        }
    }