Sources

@ajashton for your review, the source editor is still very rough around the edges but mainly interested in making sure style editing is stable enough for a merge.