Fix binding of date fields
Dates weren't bound properly when DepositField was a generic class, so make it an interface with DateDepositField, TextDepositField, etc implementations.