Fixed previously removed dependencies
Made shell loading synchronous as async loading confuses with out of order status messages
Added class wrappers instead of object and incorporated most of matei comments