Reactive programming - Wikipedia