Added tab support and refactored background page to object