fix allowing multiple extended community data based on different classes
large commit with several changes at once (hard to break down)