Use trampolines for getters/setters, fix bugs.
Update test case.