Huge refactor to use namespaces! Nearly every method renamed.