IO API refactoring

@nealstewart 

Make the standalone-versus-plugin API conform to other types of thingies in Spiritual (broadcasts, actions, ticks etc) in preparation for Year of the Test.
Next time I see this file i'm going to have more questions, but this change is obviously non-breaking