changing the structure of our packet parsing to be more expandable
rearranging how we parse packets using partial functions instead of a giant match, for expandability