Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The concepts of layers has been in the air for a while. See #2116 and #2117, for example. And I've actively been working towards this for a few weeks now, in #2117 specifically.
As part of that work, I've had lots of opportunity for thinking and experimenting (#2117 wasn't as easy as hoped, and required lots of design work). At some point during that process, I realized something: We already have layers. They are called "services", and they were added for a different reason, but they actually fit the design I was homing in on pretty perfectly.
In addition, "services" is a shitty name. Too generic, to the point of being meaningless. So this pull request renames them to "layers". This lays the foundation for adding new layers in the future, as part of the issues I've linked above, and others.