Add improved magic method and property handling