Improved RestfulService

After quite a bit of usage of the RestfulService, we've found a fair few issues and nice-to-haves that we've implemented.

We've taken feedback from this #2157