This is mostly a cosmetic change. We have to think about the following:
Does it make sense to have it in a sub-directory? Originally the idea was to have classes for all packets but so far, this is the only one that really requires this. Re-consider when done with all packets.
Dumping the packet in append_bit() seems wrong. Instead, we should probably implement two buffers and swap them as the packet gets full, allowing for polling the state and dumping outside of this method.
This might also be the opportunity to rework the getters and to add semantics according to Table 4-1 of the specs.
This is mostly a cosmetic change. We have to think about the following: