Partial Wave Analysis has traditionally been carried out using a set of tools handcrafted for each experiment. By taking an object-oriented approach, the design presented in this paper attempts to create a more generally useful, and easily extensible, environment for analyzing many different type of data.