Refactor out strategies and use builders for creating groups