Extensible through inheritance and events!