     #@setState(active: !@state.active)
     #@props.timerSwitch.onNext(@state.active)
 
-initUI = (eventSources) ->
+initUI = (eventSubjects) ->
   rootComponent = R.div {},
-    RequestsWidget(events: eventSources.requests),
-    MouseDragWidget(events: eventSources.mouseDrags),
-    TimerWidget(events: eventSources.timer, timerSwitch: eventSources.timerSwitch)
+    RequestsWidget(events: eventSubjects.requests),
+    MouseDragWidget(events: eventSubjects.mouseDrags),
+    TimerWidget(events: eventSubjects.timer, timerSwitch: eventSubjects.timerSwitch)
   React.renderComponent(rootComponent, document.getElementById('app'))
 
 

  demos.mouseDrags(app.events)
  demos.timer(app.events)
  demos.metricsWebsockets(app.config, app.events)
  app.events.responseTimes.subscribe(logAllObserver('responseTimes'))
  log('loaded')

window.addEventListener("load", onload, false)

      d = _.mapValues(d, (v) -> v.toFixed(2))
      d.count = Math.round(d.count)
      d)
    .subscribe((e) -> eventSubjects.requests.onNext(e))

  observeWebSocket(url("responseTimes"))
    .sample(500)
    .subscribe((e) -> eventSubjects.responseTimes.onNext(e))

################################################################################
# additional Observable event sources demos included in presentation
