This still creates a new Canvas instance. Would it be possible without doing that?