loop Get Requests Processor->UpcomingBillProcessor: Get New Requests UpcomingBillProcessor-->Processor: New Requests Processor->Processor: Add Requests to Queue Processor->Processor: Sleep end loop Process Requests Processor->Processor: Remove Requests from Queue loop For Each Request Processor->OperationProcessor: Process Request OperationProcessor->BillPayService: Get Upcoming Bills BillPayService-->OperationProcessor: Upcoming Bills OperationProcessor->UpcomingBillProcessor: Process Complete loop For Each Upcoming Bill UpcomingBillProcessor->AlertService: Process Event (Upcoming Bill Event) end end Processor->Processor: Sleep end