split SynchronizedPathQueue into hpp and cpp