Currently, we have just one type of child contract (Proposals).
If the Registry has to manage different types of child programs that share most of the logic, we should push that logic into the Registry.
This has some trade-offs:
- The more the shared logic, the more the Registry program is consumed;
- The more the shared logic, the less maintenance/modification we have in each child contract.