Full Protothread and handler approach