reconstruct inherited views( PaintCanvas, CanvasElement ...), rewrite elements, streamlining the core codes.