GPCE: Generative Programming And Component Engineering