Factored lib.rs into multiple files. It was getting a little large.