move dependency graph into model to work around object liveness. all kernel tests pass