Adapter are now owned by builders, not by components.

This means that adapters are available on runtime, instead of static in
the component.
Reworked all examples according to this.