That's what I'm doing for tasks, I just wanted to keep an internal marked reference to those task providers on my DSL object since they're used in a few places in my plugin during configuration.
I don't know if there's a preference between keeping provider references to tasks/lazy configurations or just keeping the names and pulling them from the registry everywhere you need them.
This specific question was more about objects containing nested properties - I came across a forum answer stating that having to do a property of a mutable object (like a sourceset, configuration, etc) typically meant a code smell