Modularize tests

This branch just breaks up the single test file into three separate files, so that the `test` directory mirrors the `src` directory. This way, you can look at a file's location in the structure and tell which component it is testing (e.g. `test/services/decorators-test.js` is testing `src/services/decorators.js`).

I'd like this change because I want to write more tests and this will make it easier for me to see which components still need tests and where to put my test files. Also, the single, megalithic file was a little hard to find my way around.