Sorry, but this is a bad idea.
SPOPS does it this way, and it leads to a lot of confusion. People look at the code and say "Why are you accessing this object as a hash?" It's just a lot of needless indirection for people trying to maintain your code. It's also measurably slower than just calling accessors.