split etl buildapi adapter into mixin classes

refactors the etl module splitting the buildapi adapter into several mixin classes. that should allow to recycle more code and keep everything clean