use composition LWP::UserAgent => LWP::UserAgent::Proxified => LWP::UserAgent::Determined => LWP::UserAgent::Cached; # now LWP::UserAgent::Cached->new() creates useragent with all supported options