Allow/disallow changes to custom fields as per issue #67

After a few false starts I think this is probably the best approach but let me know your thoughts... :)