Application Architecture Folder 4 Library Folder 1 Drone EventBus Dispatcher drone-xxxx.csv tubes.csv Drone Logging logging Drone Logs Dispatcher Logs Report Logs Route Map route-report.png drone-*.log dispatcher.log Simulation Folder 3 Simulation (application entrypoint) Thread Pool Command-line Arguments push(Event) onEvent(Event) onEvent(Event) onEvent(Event) readNextPosition() registerTubeStations() push(Event) push(Event) new Drone() new Dispatcher() execute(Runnable) parse()