[anand] made the code cleaner by introducing 2 flatmaps to get to the Observable<ByteBuf> in a little more intuitive manner