Added namespacing, DRYed up some code, and began adding localization support