class EphemeralKeyManager {

    void retrieveEphemeralKey(@Nullable String actionString, Map<String, Object> arguments) {
        if (shouldRefreshKey(
                mEphemeralKey,
                mTimeBufferInSeconds,
                mOverrideCalendar)) {
            mEphemeralKeyProvider.createEphemeralKey(
                    StripeApiHandler.API_VERSION,
                    new ClientKeyUpdateListener(this, actionString, arguments));
        } else {
            mListener.onKeyUpdate(mEphemeralKey, actionString, arguments);
        }
    }

      EphemeralKeyManager(
            @NonNull EphemeralKeyProvider ephemeralKeyProvider,
            @NonNull KeyManagerListener keyManagerListener,
            long timeBufferInSeconds,
            @Nullable Calendar overrideCalendar);

}