And besides, "object-oriented" Classes can be used primarily as an organisational strategy in combination with functional programming strategies without any use of state (if that's what you want). To use Classes is NOT to adopt every aspect of all object-oriented programming paradigms!
Or, you can use the Abstract Data Type (ADT) approach in Mathematica, which combines splendidly with the "super functional" capabilities of the Wolfram Language: