introduce a global header signals.hpp
fix visibility
add helpers for connections
unique header - move others to internal/