changes the canvas object to a table with a canvas inside
this is done because when functions return tables, they return a reference to the table and not the actual table. putting the canvas in the table means that the originator and the ui now look at the same canvas so the originator can update the canvas and the ui will display those updates