Currently, the IE driver is unable to properly render external inline content (such as external advertisements on a website), because the HoneyClient::Manager::FW package is not being properly signaled by IE to add those resources to its accept list prior to driving.
This is a chicken and egg problem.
This issue was temporarily solved in the HoneyClient::Agent::Driver::FF package, by instantiating an additional Perl-based browser (called LWP::UserAgent), which first fetches a single page's worth of HTML content and analyzes the content for external, inline links (to relay to the firewall) before the FF driver is instrumented.
The same thing needs to be added to the IE driver. However, this process needs to be re-architected.
Rather than duplicating the same code across IE and FF, a new parent package needs to be created (call it HoneyClient::Agent::Driver::Browser) that provides the high-level LWP::UserAgent parsing (and also link selection algorithm).
Eventually both IE and FF would then fall under this parent package as inherited children, with the new names of HoneyClient::Driver::Browser::IE and HoneyClient::Driver::Browser::FF, respectively.