TEMP COMMIT: Use a proxy around batch to change attributes

The application is expecting 'batch.items' to be an attribute, but the
final implementation will be a function.  In order to prove the concept
we're wrapping batch in a proxy here so that 'batch.items' calls the
function that will eventually become 'batch.items()'.