HexView is intentionally extensible at two seams.
Implement ILineReader when your bytes come from something other than a plain file:
The contract is small:
GetLineReadLengthDisposeImplement IHexFormatter when you need a different line layout or textual representation.
Examples:
Keep the control contract stable and move display policy into the formatter.