project kernel now returns $di, and factory only creates project kernels