Adicionado padrao Factory, abstract e interface  na classe Page e alterado o pacote em que esta localizado