Use factory for observable chains
Use events to communicate between separate controllers
Fix observable factories