Way to share parts of a project (Custom components)

I guess this is a feature request? I think it would be a good idea to have a way to make components in App Inventor. This system would function similarly to extensions, but they would be made in the App Inventor interface, rather than in Java, they could be visible or non-visible components, and they'd be made up of other components, similar to Screens. I think this could be useful for making small components for people who are asking for help, so they can integrate the functionality more easily. Another use case would be if someone made multiple apps that shared some common functionality, like a single account system, it could be implemented as a component and used in all the apps. They would probably need to have an extra option on the procedure blocks that sets the visibility of a procedure to other Screens and Components.
I made a very rough mockup of how the designer could look for an implementation of this.

What do yall think of this idea?

We could perhaps setup a place on the forum for reusable procedures (draggable blocks) that users can share, with explanations and parameters. Maybe a wiki topic in tutorials and guides ?