apparently android can complain of a leaked provider if we don't unbind even if we didn't actually bind
added listener to tell probes when the service actually binds and if it disconnects
we should allow extending classes access to the context object