Factor generator components into the Generator module