Find Jasmine.  (npm install jasmine-node --save-dev)
First test and stub implementation.
First failing test.
Simplistic solution.
Better wording for first test.
Make it fail again.
Add test runner script.
A seemingly working solution.
Clean up the documentation a bit.
Add more complex test.
Add test for cyclical dependencies.
Find cyclical dependencies.