1. A method of executing a task, the method comprising: saving the task as a sequence of services including a first service and a second service with each non-final service output corresponding to a subsequent service input in the sequence of services, the saved task including a service-completion record for the services and a first service-input location that indicates where first service-input values are stored for the first service, the saved task being stored at a saved-task location that is connected via a communication bus to a plurality of service providers including a first service provider corresponding to the first service and a second service provider corresponding to the second service, each service provider performing distributed operations in response to a corresponding task-pending notification received via the communication bus, and the distributed operations being decentralized from operations related to sequencing the services of the task; sending a first task-pending notification to the first service provider via the communication bus, the first task-pending notification including the first service-input location; receiving a first task-results notification from the first service provider via the communication bus, the first task-results notification including a first service-output location that indicates where the first service provider has stored corresponding first service-output values via a first-service bus that is separate from the communication bus, the first service-output values being generated by the first service provider based on values from the first service-input location, and the values from the first service-input location being accessed by the first service provider separately from the communication bus via the first-service bus; in response to receiving the first task-results notification, updating the service-completion record at the saved-task location to indicate a completion of the first service and sending a second task-pending notification to the second service provider via the communication bus, the second task-pending notification including the first service-output location identified as a second service-input location that indicates where second service-input values are stored for the second service; receiving a second task-results notification from the second service provider via the communication bus, the second task-results notification including a second service-output location that indicates where the second service provider has stored corresponding second service-output values via a second-service bus that is separate from the communication bus, the second service-output values being generated by the second service provider based on values from the second service-input location, and the values from the second service-input location being accessed by the second service provider separately from the communication bus via the second-service bus; and in response to receiving the second task-results notification, updating the service-completion record at the saved-task location to indicate a completion of the second service.