Wet blanket time. This does sound interesting but without code and docs to peek at it also sounds very much like the legacy system I'm working with now -- an object, meta-data repository API -- which is awful and strongly resistant to improvement or feature additions because anything that doesn't go through the API as expected will break something.
So, while you write "it's loosely coupled," I read "it's entirely and completely self-bound." I don't argue that that's a design mistake or could even be beautiful and extensible allowing one follows its rules; without seeing it in action or seeing what it does when it hits a corner case or an unexpected feature request it sounds a bit vaporesque.
Post some code when you can. :) I'd love to start to learn to do Moose/MOP correctly. I've only tinkered with it and I know I'm not getting as much out of it as it can provide.