to enforce determinism, make the attributes of any `Step` immutable after they're set: - `_kwargs` - all attributes set by `Step.__init__()` - `result`