Get BDD tests passing 100% (WIP)

This pull request has partial progress on getting BDD tests to pass.
It fixes the bug where the tests would hang and catches some low hanging fruit.

I will continue to update this branch as I fix the tests.  Pulling is OK but more commits will also appear.