private async void FirstRoutine(FifoCoordinator coordinator)
 {
     Fifo.Log("Entered First");
     
     await coordinator.AtEndOfQueue();
     Fifo.Log("Back to First");
     
     await coordinator.AtEndOfQueue();
     Fifo.Log("Ending First");
 }
 private async void ThirdRooutine(FifoCoordinator coordinator)
 {
     Fifo.Log("Entered Third");
     
     await coordinator.AtEndOfQueue();
     Fifo.Log("Back to Third");
     
     await coordinator.AtEndOfQueue();
     Fifo.Log("Back again to Third");
     
     await coordinator.AtEndOfQueue();
     Fifo.Log("Ending Third");
 }
 private async void SecondRoutine(FifoCoordinator coordinator)
 {
     Fifo.Log("Entered Second");
     
     await coordinator.AtEndOfQueue();
     
     Fifo.Log("Ending Second");
 }