- Converted CSocketCore to Class/Object
- Implemented CFunctionCore as base class for CPortCore and CSocketCore
- Moved common functions to CFunctionCore and renamed
eg. Maintain() -> Process()
- Pass Objects directly to each other as OutputFunction
- New Input() method allows data transfer between objects
- Convert PortCore functions into Class
Bug fixes:
- Correctly handle socket close event (return false on read)
- Only write to port/socket if valid file handle