create DataContext, rerender_dependent_components now accept list of keys