implement the sm canvas a proper editor, make the sm diagram adapter transient, streamline the events associated to refreshing the canvas.