function BasicPaneUtils.observeVisible(S)assert(BasicPane.isBasicPane(S),"\066\097\100 \066\097\115\105\099\080\097\110\101")return Observable.new(function(z)local J=Maid.new()J:GiveTask(S.VisibleChanged:Connect(function(S)z:Fire(S)end))z:Fire(S:IsVisible())return J end)end
--[=[
	Observes visibility
	@param basicPane BasicPane
	@return Observable<boolean>
]=]
function BasicPaneUtils.observeVisible(basicPane)
	assert(BasicPane.isBasicPane(basicPane), "Bad BasicPane")

	return Observable.new(function(sub)
		local maid = Maid.new()

		maid:GiveTask(basicPane.VisibleChanged:Connect(function(isVisible)
			sub:Fire(isVisible)
		end))
		sub:Fire(basicPane:IsVisible())

		return maid
	end)
end
