Simple contracts: We aim to keep our smart contracts as simple as possible, and will avoid building future functionality into one large contract. Instead, we will add functionality only when needed, and via separate, interoperable, and equally simple contracts. We rely on a secure and audited base for reusable functionality and libraries (OpenZeppelin).