WIP: Refactor layers like ggplot2 [No. 2]

This is a continuation of #252.

There is still some relevant discussion that happened at #221 that will guide the direction.

This PR is a work in progress. Some comments will include highlights of the status, the immediate direction and maybe a desired objective outcome.