Lazy-load properties using attributes