Re-work how previews are implemented

  - scrap the actors and just use a future clause
  - add sane error handling for unknown preview IDs