On further thought, I'm going to remove the final again since everyone should be able to subclass these classes