Comments

Also added more tests and replaced all instances of
'synchronized (mRoot)' with grabbing the write lock on the root. This
means, as of now, the read-write lock we use must be reentrant.