Fix up 'safe' methods to avoid unnecessary interrupt toggling, change customisation methods