added propertiesHook() to programatically add extra properties to models