Added checks for bluetooth state + unowned for closure (self)