in places where we absolutely depend on a key, we should use fetch. As when that key is missing, we will get a reasonable error tell us that they key is missing, otherwise we get a method missing nil#[]

`Hash#[]` with an invalid  key (or missing data) is a really common way to accidentally allow `nil`'s to enter a system.
We should avoid this.

```javascript
@apis.fetch(key)[:api_class] = Class.new(ApiClass)
```