Overall, I have a reaction that it's not good to change semantics because of using a different implementation. Your notion of refcounting of MAKE_DIRS makes sense, but I wonder if it should be implemented in both frameworks, or if you are intending to have a quick replacement?
Attachment:
signature.asc
Description: PGP signature