Activity data engine refactor