add ExpiringLockTrait