Forcing a batch backend to know about the messages not visible doesn't seem like a good idea. It feels directly tied to SQS more than batch in general. I would focus more on the batch operations and find a way to test the overall behavior than introspect like this and force batch backends to be smarter.