disconnected variation point declaration from plugin selection through promises