added and implemented observer pattern, inserted simulation main class in ExecuteSimulation.