Well, harder to read the (single) implementation, but easier to read the many places that this is called, and much easier semantics.  (eg: the semantics remain "call this method, with these arguments, in this order, later".  Instead of this command thing that is passed as an implicit argument, causing the order to shuffle around, and other magic.)

Alternately, I suppose that `publish_with_command('method', command_instance, arg1, arg2)` would be reasonable; that preserves the sensible argument order, but calls out that you explicitly want a conversion performed on that first argument to the code designed to hide all the complexity of doing just that sort of conversion from the caller. :)