Changed the binder interface to actually be a non-template class so that it is easier for consumers to place serialization in implementations, as well as polymorphic serialization