В класс Task впихнули всё. А лучше бы как-то разделить: вот Task, их может быть ни одного или несколько. Вот App – это приложение, форма создания новой задачи; может, обработчик всех событий, которые всплывают из задач, в т.ч.; коллекция созданных задач; их сохранение в LocalStorage; отрисовка части задач в соответствие с фильтром.
Внутри класса у методов общий префикс названия taskЧто-то-там – лишний, имхо.
В коде жосско прописаны названия классов элементов, с которыми работать, где искать, и т.п. Может, лучше делать класс независимым от разметки и передавать в него уже созданные элементы. Если же элементы создаются внутри класса, сохранять референсы к ним.
p.s. React да, можно. Или Vue.