Added user and message specs. Finished Ex. 8.5.2 by separating into modules.