ensure ordering

would like to split downloading and installing into two classes and enforce order.  download could happen in parallel.  actually installing, too...