Command–query separation - Wikipedia