The only hard part now is defining the base classes, functions, and properties for the core layer (which is all written in S2). Evan and I sat around for awhile thinking and talking about it but we didn't get too far.
Neither of us have made too many styles so that hinders us, as the core layer design is based on trade-offs and making things easy in the common case. I think this is one of those things that martmart and others would kick ass at, but it's hard to explain everything. I've written up a bunch of documentation and I have a sample core.s2 file that's close, but it's all not enough to explain the problem fully.
I'm going to give Evan a few days to think up a good solution while I finish up the remaining compiler work. If we're still stumped then I guess one of us will write up the problem better.
Hell, I'll try to put it up tonight. A lot of people could be useful at defining the core well. We just fear not enough information about how S2 works would cause a lot of useless noise.