Sync to 2014-01-20 draft; integrate Promises