Refactor based on Listing 5.38
Refactor based on Listing 5.39
Add tests for links based on Listing 5.40
Add helper spec based on Listing 5.42