Factor out a bunch of common code

Signed-off-by: Ricky Elrod <ricky@elrod.me>
W8UPD -> noexc. Holding off on module rename until we have a callsign though

Signed-off-by: Ricky Elrod <ricky@elrod.me>