Class per route+method

Given that you just catch and print the `IOException` to standard error, I think a better implementation would be to `throw` in `resourceInExpectedState` and `patchResource` and just catch/reprint that exception here to simplify things.