refactor Assigner
refactor and cleanup Items
new Encoder, Decoder, Codec