#116 moved SchedulableSemaphore to impl