Move common code to AbstractDataComposer