Can you please separate out the ListComponent changes from the ViewAction changes. That way we can check in the ViewAction changes first. I think they are almost there in terms of being ok for a checkin.

For ListComponent, I am not convinced that this is direction we want to go with. What we should aim for is a ListComponent where the caller can chose between a sync or async load. With this change they don't have an option.