Tidy up example runner and add #expect support