Build a single-page web application for managing tasks, allowing users to add new tasks, mark them as complete, edit existing tasks, and delete tasks. The application will focus on a clean user interface and intuitive user experience. While primarily client-side, the architecture should be designed to easily integrate with a backend API for data persistence in the future.