Usage of error objects to preserve stack traces
Code reviewed and refactoring IOSpace