How is this different from NewPlugin? When would an API user use one over the other?