All working. Includes some other play code.
AJAX promises