Do you really want to create these if the user never sets the onString/offString? I think you'd be better to check if the strings have been set instead of the lazy loading control.