Started refactoring to DDD.
Wired up domain events to replace the evil trigger and stored proc.
Deleted the trigger but left the stored proc there to flush any remaining emails from the queue.
Refactored subject and student. Added tests.