Massive refactor. Things are different now. Thank the gods for unit testing.