clean up builder a bit
split building into starting & attaching

this is easier to test, and paves the way for snapshotting later
deps