Assert NSDictionary keys for events and users

Signed-off-by: Miguel M. Almeida <miguelcma@cma-retina.lan>
Refactor withFallback to fallback:

Signed-off-by: Miguel M. Almeida <miguelcma@cma-retina.lan>
Code optimization in development mode

Signed-off-by: Miguel M. Almeida <miguelcma@cma-retina.lan>
Logging messages

Signed-off-by: Miguel M. Almeida <miguelcma@cma-retina.lan>
Normalize data types before toJSON:

Signed-off-by: Miguel M. Almeida <miguelcma@cma-retina.lan>