fix(builder): decouple from controller

closes #1097