Suggestion was raised by @Capstan
We could add a Batch/BatchContext/BatchHelper class that gets storage as an input and have the same delete/get/update methods as BatchRequest.Builder but instead of returning this for chaining return a Future (this could help with that) and have a void apply() method.
Any further calls on such instance should fail after a successful apply