#3 and #4 create map and inferable mapping methods for public usage

How about setting it to protected only? Not that we want to encourage people to pull in / downcast to the generated Impl class in order to use generated but not declared mapping methods... Or do we?