Designing for eventual consistency