public static function delegate($flag, $submodule, $arguments) {
		$options = Application::get($flag . '.' . $submodule . '.options');
		if (!empty($options)) {
			// todo: maybe add to first array instead to first element in arguments
			$arguments[0] = array_merge_hard($options, $arguments[0]);
		}
		// we need to determine whether we need to use additional submodule
		if (Application::get($flag . '.' . $submodule . '.submodule') && empty($arguments[0]['flag_call_previous_parent'])) {
			return call_user_func_array([self::submodule($flag . '.' . $submodule . '.submodule'), $submodule], $arguments);
		} else {
			return call_user_func_array([self::submodule($flag . '.submodule'), $submodule], $arguments);
		}
	}
public static function delegate($flag, $submodule, $arguments) {
		$options = Application::get($flag . '.' . $submodule . '.options');
		if (!empty($options)) {
			// todo: maybe add to first array instead to first element in arguments
			$arguments[0] = array_merge_hard($options, $arguments[0]);
		}
		// we need to determine whether we need to use additional submodule
		if (Application::get($flag . '.' . $submodule . '.submodule') && empty($arguments[0]['flag_call_previous_parent'])) {
			return call_user_func_array([self::submodule($flag . '.' . $submodule . '.submodule'), $submodule], $arguments);
		} else {
			return call_user_func_array([self::submodule($flag . '.submodule'), $submodule], $arguments);
		}
	}
public static function delegate ( $ flag , $ submodule , $ arguments ) { $ options = Application :: get ( $ flag . '.' . $ submodule . '.options' ) ; if ( ! empty ( $ options ) ) { // todo: maybe add to first array instead to first element in arguments $ arguments [ 0 ] = array_merge_hard ( $ options , $ arguments [ 0 ] ) ; } // we need to determine whether we need to use additional submodule if ( Application :: get ( $ flag . '.' . $ submodule . '.submodule' ) && empty ( $ arguments [ 0 ] [ 'flag_call_previous_parent' ] ) ) { return call_user_func_array ( [ self :: submodule ( $ flag . '.' . $ submodule . '.submodule' ) , $ submodule ] , $ arguments ) ; } else { return call_user_func_array ( [ self :: submodule ( $ flag . '.submodule' ) , $ submodule ] , $ arguments ) ; } }
Delegate arguments to submodule

@param string $flag
@param string $submodule
@param array $arguments
@return mixed
Delegate arguments to submodule