Conformed to a few Ruby idioms. Still needs lots of work to even be functional.