refactored out Endpoint client listeners