Moved dispatching to own struct.