Object Communication and Events, Problem 3 Dependency Inversion

Не съм много сигурен дали съм я направил като хората. Стратегиите ги сложих в един клас и се достъпват през интерфейс. Може би има повече логика да се наследява от друг клас. Задачата върви ама тя не е за това. Ако някой има коментар как по-добре би се направило ще го оценя. Главния клас е това: https://pastebin.com/ESMsZFui .