Factored out structure properties into a separate (reusable) PropertiesObject class.  Added structure listener which isn't used yet.