Injectable input, output.

Theoretically would allow for alternate input, output.
Main game loop.