Add a doc block
Pass arguments to block
Track captured and free messages
Locals should not shadow scope methods