(Let's say lower case is your first layer, upper case is your second layer, snap is your third layer, and pop is your fourth layer.)
I've worked on a similar design, and I've replaced Caps Lock with a "level 2 shift", which gets me to third layer. (Perhaps in your case, "Snap") The fourth layer is then Level 2 Shift and normal Shift, together.
If your snap & pop keys are shifts, combined with normal shift, you have a total of eight layers, potentially.
(I was inspired by the Neo Layout[1], but it's for German.)
(Also, since programmers often use - and _ for word separators, I put those on the space (which is a word separator) bar; they're level3+space and level3+shift+space, though I don't remember which was which. This made sense to me, but keyboard layouts are a personal thing, I think.)