First full pass at CaskBot