Moved a number of modules into their own files.