Move some more logic to the Builder and add additional tests