@Override public SimulationViewer build(DependencyProvider dependencyProvider) { final Shell shell = dependencyProvider.get(Shell.class); final ClockController cc = dependencyProvider.get(ClockController.class); final SimulatorAPI sim = dependencyProvider.get(SimulatorAPI.class); final MainView mv = dependencyProvider.get(MainView.class); final SimulationViewer sv = new SimulationViewer(shell, cc, sim, viewBuilder()); mv.addListener(new com.github.rinde.rinsim.event.Listener() { @Override public void handleEvent(com.github.rinde.rinsim.event.Event e) { sv.show(); } }); return sv; } }