Added some more test cases and changed test design to be slightly more efficient;
Allowed Errors to wrap other Errors