first cut of ref cursors
need to update changed refs in will update to avoid unnecessary renders