Задача решена, но мучает один вопрос. Как так получается, что в интерфейсе Dream создаётся объекта класса Hobby? Ведь по сути это класс Hobby имплементирует Dream. Dream находится как бы над Hobby по иерархии наследования, значит он его "не видит" в принципе. Объясните пожалуйста, кто в курсе