I'm actually now thinking that some of the work of these three functions should go into the slave_status object.