Why wouldn't the error help? I do like the idea of error codes for error messages. Something like:

   throw new Error(num + stdErrMessage)

Where `stdErrMessage` is something like "visit http://thoraxjs.org/error-codes#num" and then we can provide a really detailed description and helpful workaround steps. This would get rid of a lot of strings in the code.

If that sounds like a plan can we separate that out into another ticket? i.e. merge this and I'll open up another PR for the error codes.