Closes #2911
Handle some compiler/extension suggestions
Remove unnecessary null checks Mark some methods with nullable type
Cuts out about half the size; there's still a bunch of apply-value logic but it's not really big enough for a separate class. Rename BallRandomizer->BallApplicator