Подскажите паттерн ООП для задачи
Сами названия методов нам подсказывают, что можно использовать событийный подход.
Вот этого я и не люблю! Не надо натягивать патерн на задачу! Берите и решайте задачу как вам подсказывает логика. 
На каждый чих патерна нету, и часто патерн может усложнить простую задачу. 

И да, если вы можете обойтись без ООП (и вы уверены что оно вам дальше не понадобится) то не используйте его! ООП так же может усложнить или запутать простую задачу.