Get BDD tests passing initial work

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.