ArrayChangeAppender simplification, now it depends directly on MapChangeAppender, so less data copying
PropertyChangeAppender returns PropertyChane and not Collection<PropertyChange>