callables should get serialized before creating the operation because peration can execute locally and change callable state

fixes #3812