@mbj this is more a question for you, but why name the method `#run` in ducktrap? Usually if I have a kind of command object, I would have the execute/run/whatever method named `#call`, which would allow me to substitute a `Proc` or a `Method` object in place for testing.