Refactor NodeProvisioner to allow for extension of strategies

“to apply”