Create classes for port and ip fetchers and move port fetcher to a new file.
Reimplement cache class to add a timeout.
Fix problem with Connection contructor and add direction.
It's secret! (generated by whatthecommit.com)