I agree - but at that point we're talking implementation specifics. If you want to implement Properties and create your own custom accessor methods, then you're more than welcome to. The only thing to keep in mind is that you're attempting to make something that can be interchanged with other parts. If you move away from relying on __get('value') or it's object->value usage, you've stepped away from the standard and moved to relying on the implementation of the object.
i know this sounds picky, and i don't mean to sound rude, but i mean to encourage code that is more readable, because if you start now with the basic things in being generic, those practices will be used elsewhere, where they might not be as readable or easy to follow.
.. snip ..
so being more specific allows the code to be self documenting, which will make less work later for documenting the api and it gives a better idea of what the class and the way it was intended to be used.