- Move every browser to it's own package - Stop using inheritance style embedding of structs - Use as much interfaces everywhere - WIP: firefox package needs extensive tests