Use dispatcher from constructor, rather than from event (reverse-merged from commit 52640985a21883e618751d9c08d5e051f1a8cc03)