Shouldn't we have a `lib/exception` directory to keep these in a common place?