Added ComponentService interface

A ComponentService is a service that stores and retrives components. The
typical implementation is the ComponentManager.