Stav dette: Programming Models for Correct and Modular Distributed Systems