Flexible attribute getter and setter functions (useful for attribute.dot.syntax w/ default value support)