By having adapters in their own package they could be versioned separately from the main branch it would also avoid all adapters and their dependencies being part of the source code (without bundling/tree shaking)