Powerful tools for building and conveying a branching story in Javascript