Migrated to rspec with bogus, introduced more objects.

I had to rethink the object model slightly and rewriting specs helped me
achieve it.