Refactor BatchViewDataSource into seperate class