Simplifying to just working off canvas and reducing dependencies