Generalize bulk_operations logic

LMS-11366

@nasthagiri @cpennington please review
can remove the `#FIXME` here.