Provide a mechanism akin to [Json.NET's custom contract resolvers](http://www.newtonsoft.com/json/help/html/ContractResolver.htm), allowing users to fully customise serialisation according to their needs. ### Example use case A reporting tool that allows users to determine, on a per-report basis, what columns should be present in the generated Excel document. (As suggested by **Marcus Diamond**.) <!-- References -->