changing the entire way the gem operates

cleanup plus removing some inheritance
good starting point for more classes
added tests for everything currently in use
Put nil for various items that I need to complete implementing