Changed components namespace to actual component identifier so it can be used as a type.  Added ComponentFactory, it's not really fleshed out yet.