Reactive extensions for web applications