#### object creation
-The application creates two object and holds a pointer
+The application creates two objects and holds a pointer
to them. The objects are initially FLOATING with a refcount of 1.
```
Since the `_unparent()` method unrefs the child object, it is possible that
the child pointer is invalid after this function. If the parent wants to
-perform other actions on the child (such as signal emmision) it should
+perform other actions on the child (such as signal emission) it should
`_ref()` the child first.
## single-reffed relation
#### destroying the unreffed relationship
Because of the lock order we need to be careful when destroying this
-Relation.
+relation.
When only a reference to object1 is held:
UNLOCK (object1);
```
-When only a reference to object2 is held we need to get a handle to the
+When only a reference to object2 is held, we need to get a handle to the
other object fist so that we can lock it first. There is a window where
we need to release all locks and the relation could be invalid. To solve
this we check the relation after grabbing both locks and retry if the