Refactored so that panels extend an abstract ProgamPanel class, forcing
them to declare a Reset method