IGearClient.add accepts environment variables - fixes 568

I've tried to sketch out some code and made some notes for discussion during design review.

Fixes #568 
Presumably this is unnecessary, and one could just use `env.variables`?