+
+ public void registerObserver(ActiveMachineListener ob)
+ {
+ observers.add(ob);
+ ob.setMachine(activeMachine);
+ }
+
+ public void deregisterObserver(ActiveMachineListener ob)
+ {
+ observers.remove(ob);
+ }
+
+ private void notifyObservers()
+ {
+ observers.forEach(ob -> ob.setMachine(activeMachine));
+ }
+
+ @FunctionalInterface
+ public static interface ActiveMachineListener
+ {
+ void setMachine(Optional<Machine> machine);
+ }