changed `msg_t::change_t` to take two arguments