sockets and widgets