I would have used a __set method, seems cleaner and less work to do (no checking on method names called and no exception)