GComponent changes to abstract constructor