WIP - Refactor join builder API