Text this: Communication and agreement abstractions for fault-tolerant asynchronous distributed systems /