State mutations. That's it. By ensuring that your data can only be mutated by a your API, it can never get "corrupted".