Extract method.
Nicer device scan output.
Input device selection and validation.
Add output device selection and validation.
Input/output processing. Not working yet.