Ключом ОО-решения является поиск правильных абстракций. Здесь фундаментальное понятие буквально напрашивается.