Separate and document contexts
Include missing arg
Clearer arg names for buffer sourcenodes
Add `loop` convenience fn