Data marking

First cut at data marking, including tests.

Fix #53