Use viewWillAppear callback instead of viewDidAppear to populate the views as the last one was too late in the lifecycle