Changes to AddComponent(), now runs a templated version that is more friendly with typeid