Pass around pointer to D2 as an argument to everything, rather than stash the pointer...