Pulled out classes into separate files

Finally moved my classes out into separate files. Everything operates
same as last commit.