public static function make()
    {
        $name = get_called_class();

        if (!isset(static::$instances[$name])) {

            $instance = new $name();

            static::$instances[$name] = method_exists($instance, 'boot') ? $instance->boot() : $instance;
        }

        return static::$instances[$name];
    }