public void Stop()
{
if (Status != EventManagerStatus.Stopped)
{
Console.WriteLine($"{DateTime.Now} Event manager stopping at {this.framework.Clock.DateTime}");
Status = EventManagerStatus.Stopping;
if (this.framework.Mode == FrameworkMode.Simulation)
OnEvent(new OnSimulatorStop());
Status = EventManagerStatus.Stopped;
this.framework.EventBus.Clear();
OnEvent(new OnEventManagerStopped());
Console.WriteLine($"{DateTime.Now} Event manager stopped at {this.framework.Clock.DateTime}");
}
}