Reworked HardMode class, added broadcast wrapper

HardMode class still needs much work. But a step in the right direction
(I think; if I actually get what I'm supposed to be doing..)