updates semaphore widger to use widget class better