Refactoring final outcome contract