:+1: This is defintitely a good abstraction -- thanks for taking the time to pull it out.  It needs some YARD doc comments though -- could be as simple as `# @api private` (I think this should not be part of the public API).