Observer Design Pattern Java