// Path: chapter6-geoquiz-challenges/app/src/main/java/com/olerass/pfexample/android/geoquiz/domain/event/Event.java
// public class Event {
//     private List<EventListener> listeners = new ArrayList<>();
// 
//     public void addListener(EventListener listener) {
//         listeners.add(listener);
//     }
// 
//     public void dispatch() {
//         for (EventListener listener : listeners) {
//             listener.onDispatch();
//         }
//     }
// }
// 
// Path: chapter6-geoquiz-challenges/app/src/main/java/com/olerass/pfexample/android/geoquiz/domain/event/EventListener.java
// public interface EventListener {
//     void onDispatch();
// }
// 
// Path: chapter5-geoquiz-challenges/app/src/main/java/com/olerass/pfexample/android/geoquiz/domain/state/StateLoader.java
// public interface StateLoader {
//     int loadInt(String key, int defaultIfNotFound);
//     boolean loadBool(String key, boolean defaultIfNotFound);
// }
// 
// Path: chapter5-geoquiz-challenges/app/src/main/java/com/olerass/pfexample/android/geoquiz/domain/state/StateSaver.java
// public interface StateSaver {
//     void saveInt(String key, int value);
//     void saveBool(String key, boolean value);
// }


import com.olerass.pfexample.android.geoquiz.domain.event.Event;
import com.olerass.pfexample.android.geoquiz.domain.event.EventListener;
import com.olerass.pfexample.android.geoquiz.domain.state.StateLoader;
import com.olerass.pfexample.android.geoquiz.domain.state.StateSaver;
package com.olerass.pfexample.android.geoquiz.domain.cheat;


public class StandardCheatModel implements CheatModel {
    private final String KEY_ANSWER_SHOWN = "answerShown";
    private String correctAnswer;
    private boolean answerShown = false;
// Path: chapter6-geoquiz-challenges/app/src/main/java/com/olerass/pfexample/android/geoquiz/domain/event/Event.java
// public class Event {
//     private List<EventListener> listeners = new ArrayList<>();
// 
//     public void addListener(EventListener listener) {
//         listeners.add(listener);
//     }
// 
//     public void dispatch() {
//         for (EventListener listener : listeners) {
//             listener.onDispatch();
//         }
//     }
// }
// 
// Path: chapter6-geoquiz-challenges/app/src/main/java/com/olerass/pfexample/android/geoquiz/domain/event/EventListener.java
// public interface EventListener {
//     void onDispatch();
// }
// 
// Path: chapter5-geoquiz-challenges/app/src/main/java/com/olerass/pfexample/android/geoquiz/domain/state/StateLoader.java
// public interface StateLoader {
//     int loadInt(String key, int defaultIfNotFound);
//     boolean loadBool(String key, boolean defaultIfNotFound);
// }
// 
// Path: chapter5-geoquiz-challenges/app/src/main/java/com/olerass/pfexample/android/geoquiz/domain/state/StateSaver.java
// public interface StateSaver {
//     void saveInt(String key, int value);
//     void saveBool(String key, boolean value);
// }


// Path: chapter5-geoquiz-challenges/app/src/main/java/com/olerass/pfexample/android/geoquiz/domain/cheat/StandardCheatModel.java
import com.olerass.pfexample.android.geoquiz.domain.event.Event;
import com.olerass.pfexample.android.geoquiz.domain.event.EventListener;
import com.olerass.pfexample.android.geoquiz.domain.state.StateLoader;
import com.olerass.pfexample.android.geoquiz.domain.state.StateSaver;

package com.olerass.pfexample.android.geoquiz.domain.cheat;


public class StandardCheatModel implements CheatModel {
    private final String KEY_ANSWER_SHOWN = "answerShown";
    private String correctAnswer;
    private boolean answerShown = false;
    private Event answerShownChangedEvent = new Event();