Socket Interfaces Vs Abstract Classes