Extracted interfaces for the entire builder system
Made the interfaces slightly more verbose