Implemented new PoiJoiManager to find and instantiate required readers and writers at runtime based on the input and output strings given.