Optimizations: Object builders

A complete rework of the code utilizing objects with building responsibilities. Uses promises to ensure timely building.