fix: move default field assignment to refreshAttributes rather than init