def replace_service(self, key, service):
return self._init_service(key, service)<EOL>
Replace a Service with another. Usually this is a bad
idea but is often done in testing to replace a Service
with a mock version. It's also used for practical
reasons if you need to swap out services for different
framework implementations (ex: Greenlet version vs
threaded)

:param key: Name of service
:param service: Service