fixed bug I introduced in error output
Breaking things into their respective files

Moved assertion tests out of Should tests
Refactored 'Should'

There is not explicit test for Should since it does not have any logic.
All the functions it uses have most test cases covered.