Some reverse refactoring (there's something sus about signal closures), and initial json parser