Webel: Programmers who can count higher than one (1) know that you don't have to choose exclusively between object-orientation (and classes) and functional programming. You can have your cake and eat it. It's not XOR!

Icon class
icon_class
far fa-sticky-note
icon_class_computed
far fa-sticky-note
Note kind
Keywords

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:

Relates to
Related notes
Related notes (backlinks)
Related snippets (extracts)
Visit also
Visit also (backlinks)