Error handling with exceptions
Fix header guard names
ExpGain -> GoldReward packet
Read channel