Creating and using generic extension interfaces