I don't feel qualified to answer your question as I have only
written a couple of modules for my personal use and only one
that was OO. I do however want to say that I thought your post
was well written. You are concerned about the right things
(proper tests, re-inventing the wheel, documentation, etc). I
would like to welcome you to the monastery (I have no idea how
long you have been lurking) and invite you to create an account.