'See Download.set_state_callback. Calls user_callback with a list of
DownloadStates, one for each Download in the Session as first argument.
The user_callback must return a tuple (when, getpeerlist) that indicates
when to invoke the callback again (as a number of seconds from now,
or < 0.0 if not at all) and whether to also include the details of
the connected peers in the DownloadStates on that next call.
The callback will be called by a popup thread which can be used
indefinitely (within reason) by the higher level code.
:param user_callback: a function adhering to the above spec
:param interval: time in between the download states callback\'s'

def set_download_states_callback(self, user_callback, interval=1.0):

    self.lm.set_download_states_callback(user_callback, interval)
