I might lean towards simpler keys in the map. notificationMessage makes it sound like you can specify any message, when really it's coming from an Enum like structure. In other places in the DSL we use a partial match for the class name used, e.g. hudson.plugins.im.build_notify.DefaultBuildToChatNotifier becomes "Default" and hudson.plugins.im.build_notify.SummaryOnlyBuildToChatNotifier becomes "Summary". Then you construct the class name programatically. The advantage being that there might be more BuildToChatNotifier classes in the future.