I think this is how abstract classes work