Updated providers to accept context as the first param. Updated callFnWithProvider to pass context to provider. It is now expected that context (which can be null) will be the first argument when running a function.