Review existing encoding methods and choose the one that is: - deterministic - efficient - versioning friendly - facilitate broken changes