Extensions can implement this interface and then call
register an extension state listener. The listener will be notified of
changes to the extension's state. Note: Any extensions that start
background threads or open system resources (such as files or database
connections) should register a listener and terminate threads / close
resources when the extension is unloaded.