I think there are some big variables here. Step 1 will really depend on how you are interacting with your service either using REST services, MVC, or a View Model approach. Step 2 is not to bad, a lot of the demos have some nice examples, nice thing also is most of the time filters are needed on your groupings, so you can iterate thru your groupModel to assist.
3 and 4 really depend how you want to maintain your view/model state. I handle this thru my controllers depending what the users are doing, no need for so many refreshes when a model configuration maintains your view state.