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.
The instances don't use this, only the static (constructor) methods.