Thanks for the pointer. I guess to simulate what lazy.nvim does with loading plugins based on user commands, you can use something like this:
```
vim.api.nvim_create_autocmd("User", ...
```
But it only solves the actual lazy part. Not sure how you can solve defining plugin dependency graph for such loading that lazy.nvim allows.
I can try experimenting with it anyway.