wrapping vendor api access into tighter (resusable) modules that accept secret key on obj creation