Updated Observer pattern to use a new enum to indicate which side opened or closed