Renamed runner to runContext. Changed the way dependencies are resolved. They are now done (mostly) in sync though some can be concurrent.