Can we differentiate public api and internal methods somehow? _createSocket maybe?