This change will make it more transparent and predictable which methods are responsible for signalling what kinds of events. The relevant pieces of code are marked with `TODO`s.