// Element Creators // FIXME how to avoid switching on type, and allowing mixing of UBrush etc between renderes at runtime? Factory method on specific class wouldnt work... Brush CreateBrush(UBrush b) { return(b.Retreive <SDG_RenderElements>(new NoCacheDelegate(() => CreateNewBrush(b))) as Brush); }