For People still trying to figure out that liked my comment:
You can do it by creating BindableEvents and returning its .Event property. For Exemple:
-- create a bindable event
local JumpedBindable = Instance.new("BindableEvent")
JumpedBindable.Name = "Jumped"
-- make the code that fires it, in my case im gonna start it
-- from another already existing event, but you can create your own source:
Humanoid.Jumped:Connect(function() -- (this is a default event from humanoids)
JumpedBindable:Fire()
end)
-- get the .Event property that is the connectable
local Jumped = JumpedBindable.Event
-- now you can do like:
Jumped:Connect(function()
print("I jumped")
end)