The chainsaw SettingsManager calls loadSettings(LoadSettingsEvent event) for classes implementing the Profilable interfaces from the loadGlobalSettings() method. For these classes this isn't very useful, since at this time the LoadSettingsEvent doesn't contain profilable properties (they are loaded afterwards, in loadProfilableSettings(). Effectively, for classes implementing Profilable the loadSettings(LoadSettingsEvent event) method gets called twice: - one time with global settings (which don't contain the needed properties, since Profilables need settings from the respective ~/.chainsaw/ <profilable>.properties file) - a second time with global settings merged with properties gathered from the specific property-file in the ~/.chainsaw directory, now containing the needed properties IMHO for Profilables the loadSettings(LoadSettingsEvent event) should be called only in the second call (where both global and specific properties are merged)