veil.widget.handle: accept base_selector for better performance