Refactor all footer operations out into their own class