It is weird to use `mattr_writer` with a class. Maybe we should change to a module