add firefox support for notifications, abstract out notification functionality