Split run and runTask to distinguish between a command string and a callable