Redid observer pattern using java.util observable/observer