Trait experiment, phase 2:
   * make sure generated getters appear first to avoid potential NPE