Changing I/O API still
Nearly completed I/O API
Made more changes to I/O
Nearly finished I/O conversion
I/O change, including tests, changed and passed.
Adding a function to allow library users to register their own functions.
added and tested function registering interface