Question 1.) After initializing

self.UniverseSettings.Resolution = Resolution.Daily
self.AddUniverse(self.CoarseSelectionFilter, self.FineSelectionFilter)

in def Initialize(self): is 

def OnSecuritiesChanged(self, changes):

called after self.FineSelectionFilter executes? 

Question 2.) Does 'changes' contain the differences between the result sets returned from self.FineSelectionFilter every iteration or does 'changes' contain changes in the universe that are initially passed into def CoarseSelectionFilter(self, coarse)::?

Question 3.) After

def FineSelectionFilter(self, fine):

finishes, is def OnData(self, data) called with the filtered result set returned from def FineSelectionFilter(self, fine):? 

Question 4.) In this instance, is

def OnData(self, data):

called every day at 12:00am because self.UniverseSettings.Resolution is set to Resolution.Daily?