Added a couple of providers to effectively wrap IO/reflection types

Code cleanup/refactoring