Layer store as download model

**Please do not merge this yet**.

However, I am putting it up for review, since:

1.  it's a significant change
2.  it's nearly the end of the iteration and people are probably running out of work