Switched to Java's own Observer/Observable