add propertyChange slot