A topic that comes up repeatedly in designing function is what a coworker of mine calls "transactionality". Since I have a little database background, I think that this is an abuse of the term but let's go with it for a while. Function transactionality