Refactor Error.subclass to maintain stack trace

yeah