extracted commonalities into SocketCollection