Attempt at creating a dispatcher
Changed dispatcher to be a pure virtual class