update the link status handling to be the more common cb(err) pattern, and act reasonable when setting