Refactor identity change propagation, and mutual role propagation
Use custom exceptions almost everywhere
Version bump to 0.9.6
Regenerate gemspec for version 0.9.6