on method: put all param marshaling together, add test for bad callback