Implement Custom Data Types (including save/validation)