### Migration v3

Contains two breaking changes of the SDK interface.

### Removing default exports

Provides a cleaner interface for applications using commonJS modules and improves module discovery.

Previously the SDK was imported with the default parameter

```javascript
const sdk = require('@financial-times/n-membership-sdk').default;
// Or
const { default } = require('@financial-times/n-membership-sdk')
```

Now the SDK is imported straight from the module

```javascript
const sdk = require('@financial-times/n-membership-sdk');
// Or to import one service
const { User } = require('@financial-times/n-membership-sdk');
```

### New configuration

A more concise configuration management service allows services to have multiple hosts or keys.

Previously configuration objects were passed directly into services 

```javascript
const user = new User({ host, key });
const graphql = new Graphql({ host, key });
```

Now a Configuration instance must be created and passed to services

```javascript
const config = new ProductionConfiguration({
    userApi,
    userApiKey,
    graphqlApi,
    graphqlApiKey
});
const user = new User(config);
const graphql = new Graphql(config);
```
