A few weeks ago I started this small project as a basic approach to implement an important aspect of object-oriented programming: Objects, or more specifically instances of classes.
Since you cannot invent any new syntax (or even type distinction) in MSL (at least not without changing the parser, I guess) I just added a few aliases to create instances of a class ("objects"). You pass an object around as a simple string (Class.instancename, e.g. FHandle.banlist), however you should always save an "object" in a variable and not use raw "strings" (ha, ha!) since the '.' is just an arbitrary delimiter that could be changed at any time. However, if you're done creating your object through $class(Class, instancename) you can query its methods and attributes via '$getattr(obj).property'. For futher details, just check the (rather long) documentation.
I uploaded the script (with syntax-highlighting, thanks to the GeSHi-Demo) and submitted it to a few mIRC scripting pages (which are still struggling with it, tho).Download me!
If there are people who actually like it, I can try to extract all comments to a small documentation page (it's already (more or less well) marked up with restructuredText, should be easy to convert).