Changed generate() to use transitions defined in the passed in Rule