RxJS composed entirely of small modules