A minor question here.
Do we need to modify the function name to align the locator name?
108 def type_imap_name(self, value):
113 def type_imap_hostname(self, value):
118 def type_imap_port(self, value):

Thanks. :)