Description
Currently setting the selected date also initialises the days and events. If the model is stored in request scope and the state is being restored only to change the selected date, then it is not necessary to load the days and events until the selected date has been changed.
The refactor therefore takes out the initialisation from setSelectedDate(), and instead ensures that it occurs only when first needed.