Added commenting into the builder classes to cement understanding of pattern