Whenever you build a system that involves modeling, I recommend to organize objects, models and methods orthogonally.
A simple example: a cube is modeled by a^3, but it can be represented by wire frames, bounded geometry, solids. It depends on the purpose of you actions related to the cube - look inside, map textures on it, calculate its volume, ...
In UnRisk we have financial instruments, models and methods. Equities are usually modeled in the PDE world, starting with the Black-Scholes PDE with local volatility extensions (Dupire), stochastic volatility (Heston) and Jumps (Bates). See A short first view on equity models. How nasty things can get, when you naively use solvers can be seen here. But this is another story.
In option valuation tree based methods are still used. In To Tree or Not To Tree it is explained, how horrible the naive usage of trees can become. Since we, Andreas Binder, have published this, Dan Tudball, the editor of the Wilmott Magazine calls us lumberjacks (I have pointedly said: trees are good as firewood. but not for quant finance)
But, since I looked into real options I found that the trees are a good choice for the valuation of certain types. See To Tree Is The Answer, Provided …. It's about insight vs. computational quality.
I even think there is a trade off between both. If you model is too complex the additional information (dimension) gets lost in the numerical jungle.