Implement custom field types. Closes #54.