Improve property documentation
Ensure all objects are 'new-style'
Setup both ends of Direction.opposite