The JcrWorkspace class currently uses the GraphNamespaceRegistry, which implements DNA's NamespaceRegistry implementation on top of namespace mappings stored in a graph. While this works for a single ExecutionContext, having a shared implementation for multiple JcrWorkspace objects means that the update methods need to be done with the ExecutionContext of the user making the changes. This would require changing the design a fair amount.
The NamespaceRegistry implementation would also need to be thread-safe.