That’s not our intention, but it once was. When we first started v2, we wanted to make it only possible through view model code that dependencies can be declared, @huochunpeng argued against it and put in the hard work in the convention plugin to make it smooth so that dependencies can be easily declared in either way, just like v1.
For the leakage issue: @Sayan751 will be investigating it, so we can expect to see some GH PRs once it’s ready, thanks for the report, it helps!