Когда вы пытаетесь расширить класс, это означает, что отношение "является", Автомобиль расширяет Автомобиль, Автомобиль "является" Транспортным средством. В вашем примере «Задача» является «Планируемой». Это правда?
С другой стороны, черты используют другой подход, вроде "Автомобиль использует колеса". В вашем примере снова, Task использует Plannable. Выглядит лучше, чем расширение, я думаю?
Трудно сказать больше, не понимая, какие функции вы будете использовать для этой реализации. Надеюсь, это дает некоторые идеи.