If this style element is intended to be shared, it should not be removed on destroy as is currently done, as this would break any other instances depending on this particular instance.

It also isn't correct for the owner to be the only one destroying, as the owner canvas might be destroyed before the other created ones. Perhaps some level of reference counting is necessary here (e.g., an attribute that updates each time a canvas depends on it)?