Notes on Distributed Sagas: A Protocol for Coordinating Microservices