Spiking out the implementation a bit

I was hoping to drive this out with tests, but I'm not entirely sure what is
even possible with the interface yet in terms of passing an IO/Console to the
instance for testing.