I'm going to add "abstract" versions of all the required methods.