// delay 1 frame
 public static void InvokeNextFrame(Action func)
 {
     InvocationFlow <MonoBehaviour> .InvokeDelayedFrames(StaticController, 1, func);
 }
 // delay 1 frame
 public static void InvokeNextFrame(this MonoBehaviour script, Action func)
 {
     InvocationFlow <MonoBehaviour> .InvokeDelayedFrames(script, 1, func);
 }
 public static void InvokeDelayedFrames(int delayFrames, Action func)
 {
     InvocationFlow <MonoBehaviour> .InvokeDelayedFrames(StaticController, delayFrames, func);
 }
 public static void InvokeDelayed(this MonoBehaviour script, int delayFrames, Action func)
 {
     InvocationFlow <MonoBehaviour> .InvokeDelayedFrames(script, delayFrames, func);
 }