separate files for generated elements and ports
port types privatization
ports generation and initialization are independent of concrete port classes