Abstracting property reflection to a separate class