The aim is to simplify code. We need to create validators for each status. The validator will check if transition from current state is allowed or not.
Script function validator (currentStatus, transitionStatus) { return function(newStatus) { return { to: function(desiredStatus) { return (desiredStatus === transitionStatus) && (newStatus === currentStatus); } } } }