Generator for creating components