public Task InvokeStackState() { if (AnyStackState) { return(_stackedStates.Pop().Invoke().ContinueWith(task => StackStateChanged?.Invoke())); } return(Task.CompletedTask); }
public Task ClearStack() { if (AnyStackState) { _stackedStates.Clear(); StackStateChanged?.Invoke(); } return(Task.CompletedTask); }
public Task PushStackState(Func <Task> act) { _stackedStates.Push(act); StackStateChanged?.Invoke(); return(Task.CompletedTask); }