Why do you need to annotate this implementation? `@Path()` is used only by Retrofit internally when it creates the REST client for you.  If you want to create a model object that is not a pure "data holder" you should only expose the business methods without caring about implementation. And as a general rule I would prefer composition vs inheritance.