Added own implementation of Tuple

Moved Packet to its own module
Rewrote EventHandler using properties
Removed access to underlying thread in TaskWorker