protected virtual void OnPerformedAction(object sender, WorkPerformHandlerArgs workPerformeHandlerArgs)
 {
     if (PerformWork is WorkPerformHandler workPerformHandler)
     {
         workPerformHandler(this, workPerformeHandlerArgs);
     }
 }
 private static void Worker_PerformWork(object sender, WorkPerformHandlerArgs workPerformeHandlerArgs)
 {
     Console.WriteLine($"{workPerformeHandlerArgs.WorkType} performed for {workPerformeHandlerArgs.Hours}");
 }
 private static void Worker_PerformWorkPartTwo(object sender, WorkPerformHandlerArgs workPerformeHandlerArgs)
 {
     Console.WriteLine($"I am waiting for next task!");
 }