One way to save a lot of time while writing a custom native provider is to require gems. For example, one of my native providers depends on 'treetop' for command parsing.
It is currently rather painful through to use these providers. Each user of the provider needs to add resources (potentially to both their master and agent) that will install those dependencies. Preferably, my module's manifest would declare the gem dependency, and installing the module would also trigger installing the gem.