Kirill, thx for posting this and for such detailed descriptions.
Not to detract from your own approach, and it’s probably too late for your own work now you have your own recipe for objects, but if you aren’t familiar with it already, you might find it interesting to at least see what MTools does: MTools, Object Oriented Programming in Mathematica by Faysal Aberkane
If anyone else lands here, please note I’m not advocating for use of MTools over Kirill’s Objects.