Refactor: extract main in its own file
Change structure to fix bug
Add duplicate logic for branch_ids_collector
Create ids_collector and decouple it from drawable_commit_collector