Nit: there is no need to use the modifier "abstract" for interface methods.