Use the index methods as central mechanism for reading and writing properties
In order to attach additional behaviour whenever a property gets read or written, the index methods #[] and #[]= should be used for calling Property#get and Property#set as opposed to using the attribute readers and writers.
This would for instance allow one to implement dirty attribute tracking by overriding []= or track which properties have been initialized vs. which properties fall back to their default.
@exterm, does this in essence capture what needs to be done? @SebastianSzturo, any concerns in regard to fundamentally changing the internal flow of information? I expect we can do this without breaking existing specs.
Yep, I think this should work!
That sounds great! 👍