Build a fully functional and interactive To-Do List application that allows users to manage their daily tasks efficiently. The application will support adding new tasks, marking tasks as complete, editing existing tasks, and deleting tasks. It will feature a clean, intuitive user interface and demonstrate effective use of frontend state management to provide a smooth user experience without full page reloads.