Drupal Components are independent libraries that do not depend on the rest of
Drupal in order to function.
Components MAY depend on other Drupal Components or external libraries/packages,
but MUST NOT depend on any other Drupal code.
In other words, only dependencies that can be specified in a composer.json file
of the Component are acceptable dependencies. Every Drupal Component presents a
valid dependency, because it is assumed to contain a composer.json file (even
if it may not exist yet).
Each Component should be in its own namespace, and should be as self-contained
as possible. It should be possible to split a Component off to its own
repository and use as a stand-alone library, independently of Drupal.