Update publisher to allow custom executor