If you use pseudo-hash-based objects, then yes, use fields is a good idea. However, pseudo-hashes are generally regarded as a good idea poorly implemented and their use is discouraged (at least, that's the impression I've gotten). I've done pseudo-hash-based classes before. It's nothing to write home about. I'd say you should skip it.