This commit formats/documents/simplifies code, standardises naming conventions, splits Config into its own file, etc.