Linking to the blog post.
A first attempt that doesn't quite work.
Objectifying the Verse objects.
The first working version.
Cleaning up the song class.