The problem is precisely that it's not CRUD. It's a workflow problem. Many, perhaps most, CRUD systems secretly have some workflow under the hood, but they can get by with a few special-case hacks and a couple of quick fixes and call it a day. Workflow is much harder. I think it's because of the infinite recursion; for any action, I may want preconditions, postconditions, notification, permissions, and then I'd like each of those things to be actions that can recursively have those things, plus I'd like arbitrary relationships between all these things. There's an enormous tension between carving out a sufficient subset to satisfy most of your customers, without simply shipping them what is basically a domain-specific programming language too complicated for anyone but professional computer programmers to use.