- Add transport layer abstraction for COM and UDP communication
- Refactor handler definitions and processing logic
- Improve error handling and logging
- Remove unnecessary global variables and pthread usage
- Rename project from extern_interface to external_interface
- Update CMakeLists.txt to use new project name and add compiler flags
- Implement QueueException and related classes in dataqueue.hpp
- Update event handling and thread management in event.cpp
- Modify external_interface initialization and naming conventions
- Update logging and test cases to reflect changes