JavaScript based workflow designer