Include a notion of priority in the definition of EncodingFunctions.

Since a field can have multiple encoding functions, their application is priorized
using the SortedTypedList which uses an AVLTree. :)