should this function return anything?

I almost feel like the signature for the heartbeat should be the last variable in the heartbeat. You'd sign the rest of the stuff then add the signature at the bottom.

Though it may be cleaner to implement signing if we instead add the signature to the update part. Actually, we should do it that way because then we enforce that every update has a signature? Thoughts? Might there be updates that don't need signatures? I currently can't think of one.