IdentityUser
constructor must set all user provided user properties
constructor must remap user properties that require renaming
constructor should ignore properties that are not explicitly defined
Identity
has version property
has state property
has token property
has user property
has on function
has initialize function
has authenticate function
has unauthenticate function
Logger
constructor must set prefix and enabled flag
log must prefix line with set prefix
log must not log output if logger is disabled
Observable
on must register callback upon invocation
on must fail when passing undefined callback
on must fail when passing undefined type
on must silently ignore registering a callback more than once
notify must make sure callback exists
notify must invoke all registered callbacks
notify must pass data to callback
notify must complete notification dispatch despite exceptions in callbacks
invoking unregister method must remove callback
invoking unregister method twice must be silently ignored