You can add your own "Entity" ExtendedTeaser, or something like that. You won't need to edit the core, simply make sure that the [new] fields in the schema are properly mapped to the members (properties) in your new class.
You don't need to touch the code base, you can create the Model in your own project: Jonathan.Primmer.Models.MyTeaser which extendes from Sdl.Web.Commons.Model.Teaser.
The Controller should process your model automatically. You need to use the appropriate Model in your view, though, and add your project as a reference to the Core DXA web project, so it can "see" your models. You will have to register the Class in the CoreAreaRegistration.cs file. If you don't have this file, then adding the right Model in the view is enough to resolve the appropriate class.
In fact you should be able to use the "old" Teaser class if you don't need the new fields.