Add offscreen render support & caching. note:Caching using stateful properties for updating