Addition of an abstract parent class.  keeping things a little dry.

Still needs some additional work, dont quite like it yet.

Addition of view skills, and its view