I like this Loader concept, but we might want to have two loaders, one default which loads synchronously and the other does async loading and the ListComponent init call decides which one to call and it is the onLoadComplete that calls the rendering and further processing