Batcher API Rebase2

This is just a rebase of pull request #109 to consolidate some of the commits into larger more meaningful commit messages. This was created as it was not possible to push these to that branch, but all meaningful discussion can be found in #109.

Also replaces pull request #114 to move the ticket number to the top of the commit message.