TDD approach - initial commit

Writing the first spec test for the default cause and laying out the
module for another developer to fill in the gaps as a learning exercise.