allow the addition of properties via code
add boolean return to indicate whether or not a property was modified
Make properties handlers implement an interface so you can use configurable or non-configurable properties.