Add ServiceContext to isolate internal and external ServiceManager APIs.
Allow ServiceManager function to return an error.
Don't retry slave connection at BinlogStreamer level.
Consolidate cases in parseEvents.
Handle the case where extra_env=None (e.g. with MariaDB).