when a Proc, use instance_exec on context instead of passing it into the block.