dcell:server: split async with generic parts for better unit testing
dcell:server: split async with generic parts for better unit testing

niamster/dcell,celluloid/dcell,dfockler/dcell,niamster/dcell,dfockler/dcell,dfockler/dcell,celluloid/dcell,niamster/dcell,celluloid/dcell