I think maybe this dispatchMessage method is redundant?