fix broken reload

the related data model was being being referenced between calls, rather than initializing a new one everytime a new view was being loaded. turned the related object into a factory that returns data gathering functionality