Add a very basic dependency resolution implementation
Allow providers to chain dependencies