refactor signals, remove methods that handled common rac-usage patterns
and returned the final disposable in favor of exposing many signals
the developer can work with to pick/choose/compose, letting the
developer have full control to use the right signal for each case.