This is not a complete program yet, but a rough initial skeleton with the key data structures in place, as well as the thread / locking model in place. Change-Id: I5ad5a1a4918b8eacdaeb7e709ff05dc056346752