In Keykos we have taken the attitude that implementation decisions are decoupled from decisions on how to describe behavior. Sometimes it is not initially obvious how many conceptual objects are required to best (most clearly) describe behavior. Likewise it is often not initially clear how many domains are best employed. One rule of thumb is when in design trouble try using more (or fewer) domains.
One useful Keykos design pattern is to disseminate a start key S to one domain. This domain examines the order (method code) and forwards the call onto other domains that specialize according to order. This means that key S may be able to accept requests before earlier requests have been responded to.