Start of massive refactor/rewrite. Bleh
Adding generic config