public static function config(array $config = []) {
		if (!$config) {
			return [
				'classes' => static::$_classes,
				'secret' => static::$_secret
			];
		}
		if (isset($config['classes'])) {
			static::$_classes = $config['classes'] + static::$_classes;
		}
		if (isset($config['secret'])) {
			static::$_secret = $config['secret'];
		}
	}
public static function config(array $config = []) {
		if (!$config) {
			return [
				'classes' => static::$_classes,
				'secret' => static::$_secret
			];
		}
		if (isset($config['classes'])) {
			static::$_classes = $config['classes'] + static::$_classes;
		}
		if (isset($config['secret'])) {
			static::$_secret = $config['secret'];
		}
	}
public static function config ( array $ config = [ ] ) { if ( ! $ config ) { return [ 'classes' => static :: $ _classes , 'secret' => static :: $ _secret ] ; } if ( isset ( $ config [ 'classes' ] ) ) { static :: $ _classes = $ config [ 'classes' ] + static :: $ _classes ; } if ( isset ( $ config [ 'secret' ] ) ) { static :: $ _secret = $ config [ 'secret' ] ; } }
Configures the class or retrieves current class configuration.

@param array $config Available configuration options are:
- `'classes'` _array_: May be used to inject dependencies.
- `'secret'` _string_: *Must* be provided.
@return array|void If `$config` is empty, returns an array with the current configurations.
Configures the class or retrieves current class configuration .