Grow your protocol implementation with sugarcane, a framework for just that