more restructuring, moved buildUserBatchRequest() and processUserBatchResponse() into BatchExecutor class