swaddle is immutable | serializable, add config methods