Added abstract base class cyclic_thread