As discussed in, the fact that discovery has a getDefinition() method is misleading. When using the default plugin manager, it by-passes caching, processing and and possibly other logic defined in the plugin manager.
As discussed over there, we should remove that method. @catch agreed on doing so, and it's a fairly small API change. that only affects plugin managers that call it (and when they do, it's probably a bug anyway, at least those that use the now recommended default plugin manager) and implementations, but those wouldn't break if they would still implement the method.