Refactor Have::SourceBuilder