franky implements a mutex class wrapper
franky makes the isrunning protected so other derived classes can access it
franky implements a basic semaphore since c++11 doesn't have one