public static function boot( $base_path, array $options = [] ) {
        $name = plugin_basename( $base_path );

        if ( isset( static::$instances[$name] ) ) {
            throw new Exception( sprintf( 'Cannot boot `%s` again', $name ) );
        }

        $instance = new static( $base_path, $options );

        // @codeCoverageIgnoreStart
        add_action( $instance->get_action(), function () use ( $instance, $name ) {
            return static::$instances[$name] = $instance->load_files()->get_instance();
        } );
        // @codeCoverageIgnoreEnd
    }