And Dr Darren of Webel IT Australia will show exactly how! There are now some dedicated technical slide trail sections on this topic:
This page collates some of the main policies behind the Webel recipe for stateless pseudo-classes using (so-called) Abstract Data Types (ADTs), which blend brilliantly with the "super functional" capabilities of the Wolfram Language for Mathematica. The entire recipe is also modelled in Systems Modeling Language v1 (SysML®).
The Policy Note pages linked below are cross-referenced from many examples in the above slide trail, or you can access the slides from the policy notes pages.
Webel ADT recipe Policy Note pages
Background on ADTs and strong types for Mathematica
You may wish to also read this forum posting answer by the ever helpful Mathematica expert Leonid Shiffrin, or any of the books on Mathematica by Roman Maeder