CQS (Command Query Separation) is a well known principle for disentangling method responsibilities in OO software. I had known it for quite some time, but only recently actually have taken it to heart. And now I’m really loving it. I cannot imagine doing without it.