Split backend components

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