WIP: move domain state shareing out of module