add changeState method to Promises