An Rx based IoC container