Removed unused symbols and removed unnecessary indenting
Removed use of ref cell where a mutable field would suffice.
Give the test classes descriptive names
Querying now only queries for the properties present on the type being queried. This will ensure properties that are otherwise discarded are not transferred over the wire.