Auto generate properties based on declaration