Struct doesn't really have to be an event emitter

We're not using a callback, so can't return early on a failure, so just set an internal state property instead.