Add promises

r? @sole and/or @potch to make sure I'm not being stupid? Ignore some of the lousy stylus (I'm still very much tinkering with styles) but please criticize all coding woes!