Per-IO Adapters

Instead of using a generic adapter and assuming one configuration for the entire setup. Pass
an adapter symbol in the input/output options hash.  This opens up a plethora of configuration
options.