BTW, there is a `@input_properties = properties.merge!(DEFAULT_PROPERTIES)`

shouldn't that rather be `@input_properties = DEFAULT_PROPERTIES.merge(properties)` ?