Added ComponentRequest, ComponentCache classes, added caching, fixed param passing to components