Refactored listener to take buffers of versions for efficiency

Refactored task to use RX for observable streams