Added support for a new IOHook type.

This new type factors out all the IO handling for the rest resources.