Make package provider adjustable

As discussed in #10, make the provider adjustable.