In the transition from SVG to Canvas for rendering in Felt, the team not only aimed to enhance performance but also sought to improve their interaction-handling code. The new system was designed to address issues with the prior React and SVG approach, which included performance limitations, interactivity issues, and maintainability challenges. The newly devised interaction system, based on per-state InteractionHandlers, decouples interactions from rendering and access control, allowing interactions to be more performant and maintainable. This system enables precise and complex interactions by centralizing interaction management, which prevents overlapping or conflicting interactions and simplifies the code structure. The new approach allows for seamless interactions such as dragging elements through others without interference, a task previously unattainable with the element-centric model. Although the transition required overcoming challenges such as spatial indexing and performance optimization, the resulting system provides a more manageable and efficient framework that prioritizes user-requested features, enhancing the overall map-making experience in Felt.