I would suggest replacing `Proc.new` with `lamba` since it will assert the arguments passed in, similar to what a method does. With `Proc.new` you can basically pass in anything you want; which I'll admit has some valid use cases, but it's not what I would reach for without good reason.