put param marshaling together, callback can be object
test wrong callback type throws right exception