General refactor, removal of magic numbers, updated UpdatePacket to have actual state, updated unit tests - ALL TEST CASES PASS CURRENTLY