Observer/Observable implementation in Swift - Java style