Promote T getValue() from abstract class to interface