Review fixes. Use an event rather than callbacks