separated core project in api and internal
removed sender project and put contents in internal
put util package from core in common project

renamed DataUnitFactory classes to DataUnitGenerators to avoid
misunderstandings with the design pattern