Event pointers so external packages can change them, and
start using interfaces so external packages can put their own data into saved json files