Save translated implementation



<!---
@huboard:{"order":2.0,"milestone_order":58,"custom_state":""}
-->

I think we should use lodash for this, and avoid `in`.

For an array, `in` will return `true` for the prototypical array method names. For example, the expression `'length' in []` evaluates to `true`. Since `in` could cause some surprises, I propose that we use `_.has(states, key)` in any place that we would use `key in states`.