Added Component base class
- some fixes i guess, still getting sigfault