Split backend components

Move backend to its own namespace.
Move Signaler to its own file.
Move backend's components to its own file.

Why do we have ongoing defers in the GUI side of the backend communication?