Messy commit including a exec fix and a partial refactor to use a central source of model update events

For testing whether this solves the problem