Now more Object Oriented

Started working on tests. Justin made several suggestions about making
the code more Object Oriented. I then had some trouble importing
modules, and changed somethings to make it work better.

Going to write more tests, and try to
make sure we didn't break other tests before issuing a pull request.