At some point we may switch to DataContractSerializer which is much more flexible
Because without it nothing compiles.