What is a data stack and how do you build one?