added CeilingFanCommand base class, since the undo method is common to all specific ceiling fan commands