И вот теперь я хочу получить класс реализующий поведение и Task и Node. Это нормально?
Само желание вполне нормально, но лучше все же разделить так как у этих объектов абсолютно разные задачи.
Читаем про SOLID, в частности
Принцип подстановки Барбары Лисков. Так же принцип единой ответственности, слабая связанность (low coupling) и высокое зацепление (high cohesion). По поводу реализации нескольких интерфейсов - скажем для композиции двух классов все будет ок, так как вы при этом мы не сломаем принцип единой ответственности, каждый компонент будет отвечать за свое и все будут счастливы. А класс который будет объеденять две реализаци интерфейсов будет просто проксировать вызовы в нужным инстансам.
Множественное наследование норм... только высок риск что все это дело благодаря оному будет нарушено.