I really dislike the use of "worker" in the code base since it describes a process which doesn't actually do work, but I don't think it's in the scope for this ticket. I would definitely prefer we use "agent" instead of "worker" (or some other name) and have master switched to something like "resource manager" or something that actually describes the purpose of the process.
I realize that touching "master" is going to disrupt just about everything but these name choices are usually the first thing that trips up new Spark Users. In my experience, I usually have to spend at least 15-20 minutes explaining that a worker will not actually do work, and the master won't run their application. Thanks Holden for doing all the legwork on this!