Performance improvements by making Event.id creation lazy, and ensuring that DelayedComposables are created with the proper Observable as the previous incarnation was doing most work in the calling thread. This fix makes sure that the Dispatcher specified in the ComponentSpec is used to execute tasks.