Value Observing and Events for Swift