MSIO using callbacks
Buffers are not the place for MSIO as data processing is done in other parts of the pipeline. Thus, I added callbacks that need to be registered to pass data in and out of MSIO to be processed in a different part of the pipeline.