Another API rework, also added server (esl) sockets