use metaclass to set property defaults