I looked at the project. The issue is that the extensions in question are in the same package (com.puravidaapps). The problem occurs due to the following sequence of events:
1. You upload the first extension, the server unpacks the aix, and then sends back the components.json file. This is used to populate the palette with the first extension.
2. You upload the second extension, the server unpacks it and, given that the files are in the same package name, this overwrites the components.json from the first extension. The server and then sends back the components.json. The palette is populated with the second component.
3. You create the two instances.
4. After reloading, only the newer components.json file is sent from the server, so the first component is missing and yields the error.
The server expects that if the package name is the same, that the intersection of the classes will not be disjoint, but in this case it is and violating that assumption is the cause of the error. Short term, we can add a mechanism so that when there is already an extension using the package name but not a superset of the extensions already present it returns an error. Longer term, you should migrate each extension into its own package name so that there isn't a collision and/or release a single extension bundle that groups them together if they are going to share the package name.