Further decoupling, splitting off classes into file

What exists has been decoupled as much as currently possible. Almost
everything except console right and read commands are outside the main
program .cs file.