Reorganized property declarations.
Major rewrite.