Split planner

@rytaft , this isn't thoroughly tested. Let's chat before accepting this pull.