Separated type, field and field value handlers into separate interfaces.