Update to basic IO abstraction layer
DO object now makes use of IO layer
Testcode