Implemented some unit tests. Tweaked GUI and refactored code.

Also need to decide what's the non-custom reminder time, and that sort of thing.