switched error / usage messages to use cb.invalid so that the process exits with an error code (useful for testing)
0.10.2