dispatch payload classes should be shared as well because the client code is probably going to use them