Added generic tcp plugin and started creating abstract plugin class