A re-write to focus on the attr/prop issue