Moved dispatching to separate classes