Action-code is stated as uint8 (a full byte)?,
but deciphered only as 4-bit.
shouldnt it be type-marked as something like "uint4" ?
or clearly stated whats the high/low-part (from left to right/right to left?) of this divied byte?
maybe it could be clarified in clearly showing whats the low and high half-byte as nibbles?
https://en.wikipedia.org/wiki/Nibble#Low_and_high_nibbles
(the other half of the full byte (for the action-code) looks like as the 4-bit status-flags.)
