Lots of refactoring.
Implemented skin functionality.