Fixing ModeVisitor double dispatch bug

The  accept method was not overridden in Mode subclasses, leading to the
double dispatch not working correctly