Allow runtime changing of property prefix plus other cleanups

More documentation, etc.
The runtime property prefix changing means that one codebase is useful
both to me and to other people.