Started refactoring.

Since, I don't think anyone seems to care. I'm not going to finish this refactoring.
This is a dead branch now.