Rewrite demo assignment

This is a proposed implementation of the assignment layout discussed in #67 .

Resolves #67