Heavy refactoring mid-commit pt. 3: Properties