Modify comments.
Upvalue as GCObject.
Fix warning.
Refactor unit tests.