Lowercase signals names.
Do backend calls using kwargs
Handle Ctrl+C.
Fix signal names and parameters
Move 'error' keys to correct place.
Use a dict instead of an object to ease serialization.
Use stdlib's json to ensure receiving unicode.
Remove unneded parameter on signals.
Add type checking for the backend.