When client presses a button, client fires back to the server
Server continues code without any yielding occuring
You can use 1 RemoteEvent for this as well since you can set up OnClientEvent and OnServerEvent for that Remote instead of creating 2 remotes
The reason InvokeClient is usually discouraged is because exploiters can mess with the localscript that contains the OnClientInvoke and make it halt the server since it yields until something is returned