Structs

Dynamic timeout, standard implementation with std::thread. Automaticcaly join on drop.