Components are building blocks that can be composed together into projects. They represent a self-contained project feature.
When a component is created, it is associated with a specific project:
const p = new Project(...);
new MyComponent(p);
new YourComponent(p, { /* options */ });
Projects can be queried for which components have been added to them:
for (const c of p.components) {
// do something with `component`
}