corrected decorator to obtain a copy of the original provider without calling it when instantiated
built out Provide singleton
Added integration tests, noticed some awkwardness while self testing in REPL