From c8e79bab58b99788714e638d9601aa127ac0041c Mon Sep 17 00:00:00 2001
From: Manfred Karrer <mk@nucleo.io>
Date: Fri, 13 Mar 2015 16:01:32 +0100
Subject: [PATCH] Refactor viewfx package

---
 .../io/bitsquare/app/gui/BitsquareApp.java    |  8 +++----
 .../main/java/io/bitsquare/gui/GuiModule.java | 10 ++++----
 .../java/io/bitsquare/gui/Navigation.java     |  4 ++--
 .../java/io/bitsquare/gui/main/MainView.java  | 10 ++++----
 .../io/bitsquare/gui/main/MainViewModel.java  |  2 +-
 .../gui/main/account/AccountView.java         | 10 ++++----
 .../gui/main/account/AccountViewModel.java    |  2 +-
 .../arbitrator/ArbitratorSettingsView.java    | 10 ++++----
 .../browser/ArbitratorBrowserView.java        | 10 ++++----
 .../profile/ArbitratorProfileView.java        |  4 ++--
 .../ArbitratorRegistrationView.java           |  4 ++--
 .../changepassword/ChangePasswordView.java    |  6 ++---
 .../ChangePasswordViewModel.java              |  2 +-
 .../content/fiat/FiatAccountDataModel.java    |  4 ++--
 .../account/content/fiat/FiatAccountView.java |  6 ++---
 .../content/fiat/FiatAccountViewModel.java    |  4 ++--
 .../content/irc/IrcAccountDataModel.java      |  4 ++--
 .../account/content/irc/IrcAccountView.java   |  6 ++---
 .../content/irc/IrcAccountViewModel.java      |  4 ++--
 .../content/password/PasswordView.java        |  6 ++---
 .../content/password/PasswordViewModel.java   |  2 +-
 .../registration/RegistrationDataModel.java   |  2 +-
 .../registration/RegistrationView.java        |  6 ++---
 .../registration/RegistrationViewModel.java   |  4 ++--
 .../restrictions/RestrictionsDataModel.java   |  4 ++--
 .../restrictions/RestrictionsView.java        | 12 +++++-----
 .../restrictions/RestrictionsViewModel.java   |  4 ++--
 .../content/seedwords/SeedWordsView.java      |  6 ++---
 .../content/seedwords/SeedWordsViewModel.java |  2 +-
 .../account/settings/AccountSettingsView.java | 14 +++++------
 .../account/setup/AccountSetupWizard.java     | 12 +++++-----
 .../bitsquare/gui/main/debug/DebugView.java   |  4 ++--
 .../bitsquare/gui/main/funds/FundsView.java   | 12 +++++-----
 .../funds/transactions/TransactionsView.java  |  4 ++--
 .../main/funds/withdrawal/WithdrawalView.java |  4 ++--
 .../io/bitsquare/gui/main/home/HomeView.java  |  4 ++--
 .../io/bitsquare/gui/main/msg/MsgView.java    |  4 ++--
 .../gui/main/portfolio/PortfolioView.java     | 12 +++++-----
 .../closed/ClosedTradesDataModel.java         |  4 ++--
 .../portfolio/closed/ClosedTradesView.java    |  4 ++--
 .../closed/ClosedTradesViewModel.java         |  4 ++--
 .../main/portfolio/offer/OffersDataModel.java |  4 ++--
 .../gui/main/portfolio/offer/OffersView.java  |  4 ++--
 .../main/portfolio/offer/OffersViewModel.java |  4 ++--
 .../pending/PendingTradesDataModel.java       |  4 ++--
 .../portfolio/pending/PendingTradesView.java  |  4 ++--
 .../pending/PendingTradesViewModel.java       |  4 ++--
 .../gui/main/settings/SettingsView.java       | 12 +++++-----
 .../application/PreferencesDataModel.java     |  4 ++--
 .../settings/application/PreferencesView.java |  4 ++--
 .../application/PreferencesViewModel.java     |  4 ++--
 .../settings/network/NetworkSettingsView.java |  4 ++--
 .../io/bitsquare/gui/main/trade/BuyView.java  |  4 ++--
 .../io/bitsquare/gui/main/trade/SellView.java |  4 ++--
 .../bitsquare/gui/main/trade/TradeView.java   |  6 ++---
 .../createoffer/CreateOfferDataModel.java     |  4 ++--
 .../trade/createoffer/CreateOfferView.java    |  4 ++--
 .../createoffer/CreateOfferViewModel.java     |  4 ++--
 .../trade/offerbook/OfferBookDataModel.java   |  4 ++--
 .../main/trade/offerbook/OfferBookView.java   |  4 ++--
 .../trade/offerbook/OfferBookViewModel.java   |  4 ++--
 .../trade/takeoffer/TakeOfferDataModel.java   |  4 ++--
 .../main/trade/takeoffer/TakeOfferView.java   |  4 ++--
 .../trade/takeoffer/TakeOfferViewModel.java   |  4 ++--
 .../bitsquare/network/tomp2p/TomP2PNode.java  |  2 +-
 .../java/io/bitsquare/trade/TradeManager.java |  7 ++++--
 .../CheckOfferAvailabilityProtocol.java       | 16 +++++++++----
 .../trade/offerer/BuyerAsOffererProtocol.java | 10 +++++---
 .../trade/taker/SellerAsTakerProtocol.java    | 24 +++++++++++--------
 .../tomp2p/TomP2PTradeMessageService.java     |  6 +++--
 .../bitsquare}/viewfx/ViewfxException.java    |  2 +-
 .../bitsquare}/viewfx/model/Activatable.java  |  2 +-
 .../model}/ActivatableWithDataModel.java      |  4 +---
 .../bitsquare}/viewfx/model/DataModel.java    |  2 +-
 .../bitsquare}/viewfx/model/Model.java        |  2 +-
 .../bitsquare}/viewfx/model/ViewModel.java    |  2 +-
 .../viewfx/model}/WithDataModel.java          |  2 +-
 .../bitsquare/viewfx/view}/AbstractView.java  |  4 ++--
 .../viewfx/view}/ActivatableView.java         |  2 +-
 .../viewfx/view}/ActivatableViewAndModel.java |  4 ++--
 .../viewfx/view}/CachingViewLoader.java       |  7 +++---
 .../viewfx/view/DefaultPathConvention.java    |  2 +-
 .../bitsquare}/viewfx/view/FxmlView.java      |  2 +-
 .../viewfx/view}/InitializableView.java       |  2 +-
 .../{ => io/bitsquare}/viewfx/view/View.java  |  2 +-
 .../bitsquare}/viewfx/view/ViewFactory.java   |  2 +-
 .../bitsquare}/viewfx/view/ViewLoader.java    |  2 +-
 .../bitsquare}/viewfx/view/ViewPath.java      |  2 +-
 .../bitsquare}/viewfx/view/Wizard.java        |  2 +-
 .../viewfx/view}/fxml/FxmlViewLoader.java     | 13 +++++-----
 .../view}/guice/InjectorViewFactory.java      |  4 ++--
 .../fxml/FxmlViewLoaderTests$Malformed.fxml   |  0
 ...mlViewLoaderTests$MissingFxController.fxml |  0
 ...LoaderTests$MissingFxmlViewAnnotation.fxml |  2 +-
 .../fxml/FxmlViewLoaderTests$WellFormed.fxml  |  2 +-
 .../view}/fxml/FxmlViewLoaderTests.java       | 15 ++++++------
 .../view/support/CachingViewLoaderTests.java  |  6 +++--
 97 files changed, 260 insertions(+), 238 deletions(-)
 rename gui/src/main/java/{ => io/bitsquare}/viewfx/ViewfxException.java (97%)
 rename gui/src/main/java/{ => io/bitsquare}/viewfx/model/Activatable.java (96%)
 rename gui/src/main/java/{viewfx/model/support => io/bitsquare/viewfx/model}/ActivatableWithDataModel.java (95%)
 rename gui/src/main/java/{ => io/bitsquare}/viewfx/model/DataModel.java (95%)
 rename gui/src/main/java/{ => io/bitsquare}/viewfx/model/Model.java (95%)
 rename gui/src/main/java/{ => io/bitsquare}/viewfx/model/ViewModel.java (95%)
 rename gui/src/main/java/{viewfx/model/support => io/bitsquare/viewfx/model}/WithDataModel.java (96%)
 rename gui/src/main/java/{viewfx/view/support => io/bitsquare/viewfx/view}/AbstractView.java (94%)
 rename gui/src/main/java/{viewfx/view/support => io/bitsquare/viewfx/view}/ActivatableView.java (97%)
 rename gui/src/main/java/{viewfx/view/support => io/bitsquare/viewfx/view}/ActivatableViewAndModel.java (94%)
 rename gui/src/main/java/{viewfx/view/support => io/bitsquare/viewfx/view}/CachingViewLoader.java (91%)
 rename gui/src/main/java/{ => io/bitsquare}/viewfx/view/DefaultPathConvention.java (96%)
 rename gui/src/main/java/{ => io/bitsquare}/viewfx/view/FxmlView.java (98%)
 rename gui/src/main/java/{viewfx/view/support => io/bitsquare/viewfx/view}/InitializableView.java (97%)
 rename gui/src/main/java/{ => io/bitsquare}/viewfx/view/View.java (95%)
 rename gui/src/main/java/{ => io/bitsquare}/viewfx/view/ViewFactory.java (95%)
 rename gui/src/main/java/{ => io/bitsquare}/viewfx/view/ViewLoader.java (95%)
 rename gui/src/main/java/{ => io/bitsquare}/viewfx/view/ViewPath.java (97%)
 rename gui/src/main/java/{ => io/bitsquare}/viewfx/view/Wizard.java (96%)
 rename gui/src/main/java/{viewfx/view/support => io/bitsquare/viewfx/view}/fxml/FxmlViewLoader.java (94%)
 rename gui/src/main/java/{viewfx/view/support => io/bitsquare/viewfx/view}/guice/InjectorViewFactory.java (93%)
 rename gui/src/test/java/{viewfx/view/support => io/bitsquare/viewfx/view}/fxml/FxmlViewLoaderTests$Malformed.fxml (100%)
 rename gui/src/test/java/{viewfx/view/support => io/bitsquare/viewfx/view}/fxml/FxmlViewLoaderTests$MissingFxController.fxml (100%)
 rename gui/src/test/java/{viewfx/view/support => io/bitsquare/viewfx/view}/fxml/FxmlViewLoaderTests$MissingFxmlViewAnnotation.fxml (87%)
 rename gui/src/test/java/{viewfx/view/support => io/bitsquare/viewfx/view}/fxml/FxmlViewLoaderTests$WellFormed.fxml (88%)
 rename gui/src/test/java/{viewfx/view/support => io/bitsquare/viewfx/view}/fxml/FxmlViewLoaderTests.java (92%)
 rename gui/src/test/java/{ => io/bitsquare}/viewfx/view/support/CachingViewLoaderTests.java (89%)

diff --git a/gui/src/main/java/io/bitsquare/app/gui/BitsquareApp.java b/gui/src/main/java/io/bitsquare/app/gui/BitsquareApp.java
index c207ea072c..33a12ccf29 100644
--- a/gui/src/main/java/io/bitsquare/app/gui/BitsquareApp.java
+++ b/gui/src/main/java/io/bitsquare/app/gui/BitsquareApp.java
@@ -34,10 +34,10 @@ import com.google.inject.Injector;
 
 import java.io.IOException;
 
-import viewfx.view.View;
-import viewfx.view.ViewLoader;
-import viewfx.view.support.CachingViewLoader;
-import viewfx.view.support.guice.InjectorViewFactory;
+import io.bitsquare.viewfx.view.View;
+import io.bitsquare.viewfx.view.ViewLoader;
+import io.bitsquare.viewfx.view.CachingViewLoader;
+import io.bitsquare.viewfx.view.guice.InjectorViewFactory;
 
 import javafx.application.Application;
 import javafx.scene.*;
diff --git a/gui/src/main/java/io/bitsquare/gui/GuiModule.java b/gui/src/main/java/io/bitsquare/gui/GuiModule.java
index c1a2ba651e..855addab5d 100644
--- a/gui/src/main/java/io/bitsquare/gui/GuiModule.java
+++ b/gui/src/main/java/io/bitsquare/gui/GuiModule.java
@@ -35,11 +35,11 @@ import com.google.inject.name.Names;
 
 import java.util.ResourceBundle;
 
-import viewfx.view.ViewFactory;
-import viewfx.view.ViewLoader;
-import viewfx.view.support.CachingViewLoader;
-import viewfx.view.support.fxml.FxmlViewLoader;
-import viewfx.view.support.guice.InjectorViewFactory;
+import io.bitsquare.viewfx.view.ViewFactory;
+import io.bitsquare.viewfx.view.ViewLoader;
+import io.bitsquare.viewfx.view.CachingViewLoader;
+import io.bitsquare.viewfx.view.fxml.FxmlViewLoader;
+import io.bitsquare.viewfx.view.guice.InjectorViewFactory;
 
 import javafx.stage.Stage;
 
diff --git a/gui/src/main/java/io/bitsquare/gui/Navigation.java b/gui/src/main/java/io/bitsquare/gui/Navigation.java
index 69df589deb..747bd521df 100644
--- a/gui/src/main/java/io/bitsquare/gui/Navigation.java
+++ b/gui/src/main/java/io/bitsquare/gui/Navigation.java
@@ -29,8 +29,8 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.CopyOnWriteArrayList;
 
-import viewfx.view.View;
-import viewfx.view.ViewPath;
+import io.bitsquare.viewfx.view.View;
+import io.bitsquare.viewfx.view.ViewPath;
 
 public class Navigation {
 
diff --git a/gui/src/main/java/io/bitsquare/gui/main/MainView.java b/gui/src/main/java/io/bitsquare/gui/main/MainView.java
index 5f643ad8df..4379805790 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/MainView.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/MainView.java
@@ -36,11 +36,11 @@ import io.bitsquare.gui.util.Transitions;
 import javax.inject.Inject;
 import javax.inject.Named;
 
-import viewfx.view.FxmlView;
-import viewfx.view.View;
-import viewfx.view.ViewLoader;
-import viewfx.view.support.CachingViewLoader;
-import viewfx.view.support.InitializableView;
+import io.bitsquare.viewfx.view.FxmlView;
+import io.bitsquare.viewfx.view.View;
+import io.bitsquare.viewfx.view.ViewLoader;
+import io.bitsquare.viewfx.view.CachingViewLoader;
+import io.bitsquare.viewfx.view.InitializableView;
 
 import javafx.application.Platform;
 import javafx.geometry.Insets;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/MainViewModel.java b/gui/src/main/java/io/bitsquare/gui/main/MainViewModel.java
index 05f431ead1..330a660234 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/MainViewModel.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/MainViewModel.java
@@ -50,7 +50,7 @@ import java.util.List;
 import java.util.Locale;
 import java.util.concurrent.TimeoutException;
 
-import viewfx.model.ViewModel;
+import io.bitsquare.viewfx.model.ViewModel;
 
 import javafx.application.Platform;
 import javafx.beans.property.BooleanProperty;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/account/AccountView.java b/gui/src/main/java/io/bitsquare/gui/main/account/AccountView.java
index 1d2981b42a..3a8eb9e308 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/account/AccountView.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/account/AccountView.java
@@ -25,11 +25,11 @@ import io.bitsquare.gui.main.account.setup.AccountSetupWizard;
 
 import javax.inject.Inject;
 
-import viewfx.view.FxmlView;
-import viewfx.view.View;
-import viewfx.view.ViewLoader;
-import viewfx.view.support.ActivatableView;
-import viewfx.view.support.CachingViewLoader;
+import io.bitsquare.viewfx.view.FxmlView;
+import io.bitsquare.viewfx.view.View;
+import io.bitsquare.viewfx.view.ViewLoader;
+import io.bitsquare.viewfx.view.ActivatableView;
+import io.bitsquare.viewfx.view.CachingViewLoader;
 
 import javafx.beans.value.ChangeListener;
 import javafx.fxml.FXML;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/account/AccountViewModel.java b/gui/src/main/java/io/bitsquare/gui/main/account/AccountViewModel.java
index 5ae1ccf86d..00523ad1ff 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/account/AccountViewModel.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/account/AccountViewModel.java
@@ -21,7 +21,7 @@ import io.bitsquare.user.User;
 
 import com.google.inject.Inject;
 
-import viewfx.model.ViewModel;
+import io.bitsquare.viewfx.model.ViewModel;
 
 class AccountViewModel implements ViewModel {
 
diff --git a/gui/src/main/java/io/bitsquare/gui/main/account/arbitrator/ArbitratorSettingsView.java b/gui/src/main/java/io/bitsquare/gui/main/account/arbitrator/ArbitratorSettingsView.java
index 7466f5720e..8ad85df1a6 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/account/arbitrator/ArbitratorSettingsView.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/account/arbitrator/ArbitratorSettingsView.java
@@ -21,11 +21,11 @@ import io.bitsquare.gui.main.account.arbitrator.registration.ArbitratorRegistrat
 
 import javax.inject.Inject;
 
-import viewfx.view.FxmlView;
-import viewfx.view.View;
-import viewfx.view.ViewLoader;
-import viewfx.view.support.AbstractView;
-import viewfx.view.support.CachingViewLoader;
+import io.bitsquare.viewfx.view.FxmlView;
+import io.bitsquare.viewfx.view.View;
+import io.bitsquare.viewfx.view.ViewLoader;
+import io.bitsquare.viewfx.view.AbstractView;
+import io.bitsquare.viewfx.view.CachingViewLoader;
 
 import javafx.fxml.FXML;
 import javafx.scene.*;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/account/arbitrator/browser/ArbitratorBrowserView.java b/gui/src/main/java/io/bitsquare/gui/main/account/arbitrator/browser/ArbitratorBrowserView.java
index f23d03a4e1..a0e06af22d 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/account/arbitrator/browser/ArbitratorBrowserView.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/account/arbitrator/browser/ArbitratorBrowserView.java
@@ -30,11 +30,11 @@ import java.util.List;
 
 import javax.inject.Inject;
 
-import viewfx.view.FxmlView;
-import viewfx.view.View;
-import viewfx.view.ViewLoader;
-import viewfx.view.support.ActivatableView;
-import viewfx.view.support.CachingViewLoader;
+import io.bitsquare.viewfx.view.FxmlView;
+import io.bitsquare.viewfx.view.View;
+import io.bitsquare.viewfx.view.ViewLoader;
+import io.bitsquare.viewfx.view.ActivatableView;
+import io.bitsquare.viewfx.view.CachingViewLoader;
 
 import javafx.fxml.FXML;
 import javafx.scene.control.*;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/account/arbitrator/profile/ArbitratorProfileView.java b/gui/src/main/java/io/bitsquare/gui/main/account/arbitrator/profile/ArbitratorProfileView.java
index 166cf5b4cd..0d45039689 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/account/arbitrator/profile/ArbitratorProfileView.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/account/arbitrator/profile/ArbitratorProfileView.java
@@ -22,8 +22,8 @@ import io.bitsquare.gui.util.BSFormatter;
 
 import javax.inject.Inject;
 
-import viewfx.view.FxmlView;
-import viewfx.view.support.AbstractView;
+import io.bitsquare.viewfx.view.FxmlView;
+import io.bitsquare.viewfx.view.AbstractView;
 
 import javafx.fxml.FXML;
 import javafx.scene.control.*;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/account/arbitrator/registration/ArbitratorRegistrationView.java b/gui/src/main/java/io/bitsquare/gui/main/account/arbitrator/registration/ArbitratorRegistrationView.java
index f93f2e4004..609376c6ac 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/account/arbitrator/registration/ArbitratorRegistrationView.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/account/arbitrator/registration/ArbitratorRegistrationView.java
@@ -44,8 +44,8 @@ import java.util.Locale;
 
 import javax.inject.Inject;
 
-import viewfx.view.FxmlView;
-import viewfx.view.support.ActivatableView;
+import io.bitsquare.viewfx.view.FxmlView;
+import io.bitsquare.viewfx.view.ActivatableView;
 
 import javafx.collections.FXCollections;
 import javafx.fxml.FXML;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/account/content/changepassword/ChangePasswordView.java b/gui/src/main/java/io/bitsquare/gui/main/account/content/changepassword/ChangePasswordView.java
index b54f6f9a67..77ddf1ed4b 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/account/content/changepassword/ChangePasswordView.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/account/content/changepassword/ChangePasswordView.java
@@ -22,9 +22,9 @@ import io.bitsquare.gui.main.help.HelpId;
 
 import javax.inject.Inject;
 
-import viewfx.view.FxmlView;
-import viewfx.view.Wizard;
-import viewfx.view.support.InitializableView;
+import io.bitsquare.viewfx.view.FxmlView;
+import io.bitsquare.viewfx.view.Wizard;
+import io.bitsquare.viewfx.view.InitializableView;
 
 import javafx.fxml.FXML;
 import javafx.scene.control.*;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/account/content/changepassword/ChangePasswordViewModel.java b/gui/src/main/java/io/bitsquare/gui/main/account/content/changepassword/ChangePasswordViewModel.java
index 02fdfa3d20..b7feeec186 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/account/content/changepassword/ChangePasswordViewModel.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/account/content/changepassword/ChangePasswordViewModel.java
@@ -22,7 +22,7 @@ import io.bitsquare.gui.util.validation.PasswordValidator;
 
 import com.google.inject.Inject;
 
-import viewfx.model.ViewModel;
+import io.bitsquare.viewfx.model.ViewModel;
 
 import javafx.beans.property.BooleanProperty;
 import javafx.beans.property.SimpleBooleanProperty;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/account/content/fiat/FiatAccountDataModel.java b/gui/src/main/java/io/bitsquare/gui/main/account/content/fiat/FiatAccountDataModel.java
index b3e3252c2a..8270159c06 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/account/content/fiat/FiatAccountDataModel.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/account/content/fiat/FiatAccountDataModel.java
@@ -31,8 +31,8 @@ import com.google.inject.Inject;
 
 import java.util.Currency;
 
-import viewfx.model.Activatable;
-import viewfx.model.DataModel;
+import io.bitsquare.viewfx.model.Activatable;
+import io.bitsquare.viewfx.model.DataModel;
 
 import javafx.beans.property.BooleanProperty;
 import javafx.beans.property.ObjectProperty;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/account/content/fiat/FiatAccountView.java b/gui/src/main/java/io/bitsquare/gui/main/account/content/fiat/FiatAccountView.java
index a9e32943e9..ba34613825 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/account/content/fiat/FiatAccountView.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/account/content/fiat/FiatAccountView.java
@@ -35,9 +35,9 @@ import java.util.List;
 
 import javax.inject.Inject;
 
-import viewfx.view.FxmlView;
-import viewfx.view.Wizard;
-import viewfx.view.support.ActivatableViewAndModel;
+import io.bitsquare.viewfx.view.FxmlView;
+import io.bitsquare.viewfx.view.Wizard;
+import io.bitsquare.viewfx.view.ActivatableViewAndModel;
 
 import javafx.collections.ListChangeListener;
 import javafx.event.ActionEvent;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/account/content/fiat/FiatAccountViewModel.java b/gui/src/main/java/io/bitsquare/gui/main/account/content/fiat/FiatAccountViewModel.java
index bfd55c8d14..0b23f47272 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/account/content/fiat/FiatAccountViewModel.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/account/content/fiat/FiatAccountViewModel.java
@@ -29,8 +29,8 @@ import com.google.inject.Inject;
 
 import java.util.Currency;
 
-import viewfx.model.ViewModel;
-import viewfx.model.support.ActivatableWithDataModel;
+import io.bitsquare.viewfx.model.ViewModel;
+import io.bitsquare.viewfx.model.ActivatableWithDataModel;
 
 import javafx.beans.property.BooleanProperty;
 import javafx.beans.property.ObjectProperty;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/account/content/irc/IrcAccountDataModel.java b/gui/src/main/java/io/bitsquare/gui/main/account/content/irc/IrcAccountDataModel.java
index 54db70fb35..46e901b776 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/account/content/irc/IrcAccountDataModel.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/account/content/irc/IrcAccountDataModel.java
@@ -41,8 +41,8 @@ import java.util.Currency;
 import java.util.List;
 import java.util.Locale;
 
-import viewfx.model.Activatable;
-import viewfx.model.DataModel;
+import io.bitsquare.viewfx.model.Activatable;
+import io.bitsquare.viewfx.model.DataModel;
 
 import javafx.beans.property.ObjectProperty;
 import javafx.beans.property.SimpleObjectProperty;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/account/content/irc/IrcAccountView.java b/gui/src/main/java/io/bitsquare/gui/main/account/content/irc/IrcAccountView.java
index 834e5fce16..6b1553a457 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/account/content/irc/IrcAccountView.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/account/content/irc/IrcAccountView.java
@@ -28,9 +28,9 @@ import java.util.Currency;
 
 import javax.inject.Inject;
 
-import viewfx.view.FxmlView;
-import viewfx.view.Wizard;
-import viewfx.view.support.ActivatableViewAndModel;
+import io.bitsquare.viewfx.view.FxmlView;
+import io.bitsquare.viewfx.view.Wizard;
+import io.bitsquare.viewfx.view.ActivatableViewAndModel;
 
 import javafx.application.Platform;
 import javafx.fxml.FXML;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/account/content/irc/IrcAccountViewModel.java b/gui/src/main/java/io/bitsquare/gui/main/account/content/irc/IrcAccountViewModel.java
index ed0f160c39..68b247f676 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/account/content/irc/IrcAccountViewModel.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/account/content/irc/IrcAccountViewModel.java
@@ -26,8 +26,8 @@ import com.google.inject.Inject;
 
 import java.util.Currency;
 
-import viewfx.model.ViewModel;
-import viewfx.model.support.ActivatableWithDataModel;
+import io.bitsquare.viewfx.model.ViewModel;
+import io.bitsquare.viewfx.model.ActivatableWithDataModel;
 
 import javafx.beans.property.BooleanProperty;
 import javafx.beans.property.ObjectProperty;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/account/content/password/PasswordView.java b/gui/src/main/java/io/bitsquare/gui/main/account/content/password/PasswordView.java
index e03309c237..3afa48400f 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/account/content/password/PasswordView.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/account/content/password/PasswordView.java
@@ -22,9 +22,9 @@ import io.bitsquare.gui.main.help.HelpId;
 
 import javax.inject.Inject;
 
-import viewfx.view.FxmlView;
-import viewfx.view.Wizard;
-import viewfx.view.support.InitializableView;
+import io.bitsquare.viewfx.view.FxmlView;
+import io.bitsquare.viewfx.view.Wizard;
+import io.bitsquare.viewfx.view.InitializableView;
 
 import javafx.fxml.FXML;
 import javafx.scene.control.*;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/account/content/password/PasswordViewModel.java b/gui/src/main/java/io/bitsquare/gui/main/account/content/password/PasswordViewModel.java
index 2f2a4fc53e..950fa60319 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/account/content/password/PasswordViewModel.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/account/content/password/PasswordViewModel.java
@@ -22,7 +22,7 @@ import io.bitsquare.gui.util.validation.PasswordValidator;
 
 import com.google.inject.Inject;
 
-import viewfx.model.ViewModel;
+import io.bitsquare.viewfx.model.ViewModel;
 
 import javafx.beans.property.BooleanProperty;
 import javafx.beans.property.SimpleBooleanProperty;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/account/content/registration/RegistrationDataModel.java b/gui/src/main/java/io/bitsquare/gui/main/account/content/registration/RegistrationDataModel.java
index 7f8f8b07a8..b9e6d5fca1 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/account/content/registration/RegistrationDataModel.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/account/content/registration/RegistrationDataModel.java
@@ -34,7 +34,7 @@ import com.google.inject.Inject;
 
 import javax.annotation.Nullable;
 
-import viewfx.model.DataModel;
+import io.bitsquare.viewfx.model.DataModel;
 
 import javafx.beans.property.BooleanProperty;
 import javafx.beans.property.SimpleBooleanProperty;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/account/content/registration/RegistrationView.java b/gui/src/main/java/io/bitsquare/gui/main/account/content/registration/RegistrationView.java
index 9831285c93..6fec3ccc38 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/account/content/registration/RegistrationView.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/account/content/registration/RegistrationView.java
@@ -30,9 +30,9 @@ import java.util.List;
 
 import javax.inject.Inject;
 
-import viewfx.view.FxmlView;
-import viewfx.view.Wizard;
-import viewfx.view.support.InitializableView;
+import io.bitsquare.viewfx.view.FxmlView;
+import io.bitsquare.viewfx.view.Wizard;
+import io.bitsquare.viewfx.view.InitializableView;
 
 import javafx.event.ActionEvent;
 import javafx.fxml.FXML;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/account/content/registration/RegistrationViewModel.java b/gui/src/main/java/io/bitsquare/gui/main/account/content/registration/RegistrationViewModel.java
index 4cb49cfb23..d6745d49cf 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/account/content/registration/RegistrationViewModel.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/account/content/registration/RegistrationViewModel.java
@@ -26,8 +26,8 @@ import org.bitcoinj.core.Coin;
 
 import com.google.inject.Inject;
 
-import viewfx.model.ViewModel;
-import viewfx.model.support.WithDataModel;
+import io.bitsquare.viewfx.model.ViewModel;
+import io.bitsquare.viewfx.model.WithDataModel;
 
 import javafx.beans.property.BooleanProperty;
 import javafx.beans.property.ObjectProperty;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/account/content/restrictions/RestrictionsDataModel.java b/gui/src/main/java/io/bitsquare/gui/main/account/content/restrictions/RestrictionsDataModel.java
index 517587da63..b9aaec6aaf 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/account/content/restrictions/RestrictionsDataModel.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/account/content/restrictions/RestrictionsDataModel.java
@@ -39,8 +39,8 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Locale;
 
-import viewfx.model.Activatable;
-import viewfx.model.DataModel;
+import io.bitsquare.viewfx.model.Activatable;
+import io.bitsquare.viewfx.model.DataModel;
 
 import javafx.collections.FXCollections;
 import javafx.collections.ObservableList;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/account/content/restrictions/RestrictionsView.java b/gui/src/main/java/io/bitsquare/gui/main/account/content/restrictions/RestrictionsView.java
index cf23635cfd..5021156a9f 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/account/content/restrictions/RestrictionsView.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/account/content/restrictions/RestrictionsView.java
@@ -29,12 +29,12 @@ import java.util.Locale;
 
 import javax.inject.Inject;
 
-import viewfx.view.FxmlView;
-import viewfx.view.View;
-import viewfx.view.ViewLoader;
-import viewfx.view.Wizard;
-import viewfx.view.support.ActivatableViewAndModel;
-import viewfx.view.support.CachingViewLoader;
+import io.bitsquare.viewfx.view.FxmlView;
+import io.bitsquare.viewfx.view.View;
+import io.bitsquare.viewfx.view.ViewLoader;
+import io.bitsquare.viewfx.view.Wizard;
+import io.bitsquare.viewfx.view.ActivatableViewAndModel;
+import io.bitsquare.viewfx.view.CachingViewLoader;
 
 import javafx.fxml.FXML;
 import javafx.scene.*;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/account/content/restrictions/RestrictionsViewModel.java b/gui/src/main/java/io/bitsquare/gui/main/account/content/restrictions/RestrictionsViewModel.java
index 7be450ff59..3320c2014d 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/account/content/restrictions/RestrictionsViewModel.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/account/content/restrictions/RestrictionsViewModel.java
@@ -25,8 +25,8 @@ import com.google.inject.Inject;
 
 import java.util.Locale;
 
-import viewfx.model.ViewModel;
-import viewfx.model.support.ActivatableWithDataModel;
+import io.bitsquare.viewfx.model.ViewModel;
+import io.bitsquare.viewfx.model.ActivatableWithDataModel;
 
 import javafx.beans.property.BooleanProperty;
 import javafx.beans.property.SimpleBooleanProperty;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/account/content/seedwords/SeedWordsView.java b/gui/src/main/java/io/bitsquare/gui/main/account/content/seedwords/SeedWordsView.java
index d5640f51b8..02922735d9 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/account/content/seedwords/SeedWordsView.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/account/content/seedwords/SeedWordsView.java
@@ -22,9 +22,9 @@ import io.bitsquare.gui.main.help.HelpId;
 
 import javax.inject.Inject;
 
-import viewfx.view.FxmlView;
-import viewfx.view.Wizard;
-import viewfx.view.support.InitializableView;
+import io.bitsquare.viewfx.view.FxmlView;
+import io.bitsquare.viewfx.view.Wizard;
+import io.bitsquare.viewfx.view.InitializableView;
 
 import javafx.fxml.FXML;
 import javafx.scene.control.*;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/account/content/seedwords/SeedWordsViewModel.java b/gui/src/main/java/io/bitsquare/gui/main/account/content/seedwords/SeedWordsViewModel.java
index 5e10201edb..56cd1d8596 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/account/content/seedwords/SeedWordsViewModel.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/account/content/seedwords/SeedWordsViewModel.java
@@ -24,7 +24,7 @@ import com.google.inject.Inject;
 
 import java.util.List;
 
-import viewfx.model.ViewModel;
+import io.bitsquare.viewfx.model.ViewModel;
 
 import javafx.beans.property.SimpleStringProperty;
 import javafx.beans.property.StringProperty;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/account/settings/AccountSettingsView.java b/gui/src/main/java/io/bitsquare/gui/main/account/settings/AccountSettingsView.java
index f0992eebd2..6a84079aeb 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/account/settings/AccountSettingsView.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/account/settings/AccountSettingsView.java
@@ -30,13 +30,13 @@ import io.bitsquare.gui.util.Colors;
 
 import javax.inject.Inject;
 
-import viewfx.view.FxmlView;
-import viewfx.view.View;
-import viewfx.view.ViewLoader;
-import viewfx.view.ViewPath;
-import viewfx.view.Wizard;
-import viewfx.view.support.ActivatableViewAndModel;
-import viewfx.view.support.CachingViewLoader;
+import io.bitsquare.viewfx.view.FxmlView;
+import io.bitsquare.viewfx.view.View;
+import io.bitsquare.viewfx.view.ViewLoader;
+import io.bitsquare.viewfx.view.ViewPath;
+import io.bitsquare.viewfx.view.Wizard;
+import io.bitsquare.viewfx.view.ActivatableViewAndModel;
+import io.bitsquare.viewfx.view.CachingViewLoader;
 
 import javafx.fxml.FXML;
 import javafx.geometry.Pos;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/account/setup/AccountSetupWizard.java b/gui/src/main/java/io/bitsquare/gui/main/account/setup/AccountSetupWizard.java
index 016d37a87f..8c452e65de 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/account/setup/AccountSetupWizard.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/account/setup/AccountSetupWizard.java
@@ -28,12 +28,12 @@ import io.bitsquare.gui.main.trade.BuyView;
 
 import javax.inject.Inject;
 
-import viewfx.view.FxmlView;
-import viewfx.view.View;
-import viewfx.view.ViewLoader;
-import viewfx.view.Wizard;
-import viewfx.view.support.ActivatableView;
-import viewfx.view.support.CachingViewLoader;
+import io.bitsquare.viewfx.view.FxmlView;
+import io.bitsquare.viewfx.view.View;
+import io.bitsquare.viewfx.view.ViewLoader;
+import io.bitsquare.viewfx.view.Wizard;
+import io.bitsquare.viewfx.view.ActivatableView;
+import io.bitsquare.viewfx.view.CachingViewLoader;
 
 import javafx.fxml.FXML;
 import javafx.geometry.Insets;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/debug/DebugView.java b/gui/src/main/java/io/bitsquare/gui/main/debug/DebugView.java
index ab7a3da58f..18ef7c9b4e 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/debug/DebugView.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/debug/DebugView.java
@@ -62,8 +62,8 @@ import java.util.Arrays;
 
 import javax.inject.Inject;
 
-import viewfx.view.FxmlView;
-import viewfx.view.support.InitializableView;
+import io.bitsquare.viewfx.view.FxmlView;
+import io.bitsquare.viewfx.view.InitializableView;
 
 import javafx.collections.FXCollections;
 import javafx.collections.ObservableList;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/funds/FundsView.java b/gui/src/main/java/io/bitsquare/gui/main/funds/FundsView.java
index 72861e85ed..c6bf208181 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/funds/FundsView.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/funds/FundsView.java
@@ -24,12 +24,12 @@ import io.bitsquare.gui.main.funds.withdrawal.WithdrawalView;
 
 import javax.inject.Inject;
 
-import viewfx.model.Activatable;
-import viewfx.view.FxmlView;
-import viewfx.view.View;
-import viewfx.view.ViewLoader;
-import viewfx.view.support.ActivatableViewAndModel;
-import viewfx.view.support.CachingViewLoader;
+import io.bitsquare.viewfx.model.Activatable;
+import io.bitsquare.viewfx.view.FxmlView;
+import io.bitsquare.viewfx.view.View;
+import io.bitsquare.viewfx.view.ViewLoader;
+import io.bitsquare.viewfx.view.ActivatableViewAndModel;
+import io.bitsquare.viewfx.view.CachingViewLoader;
 
 import javafx.beans.value.ChangeListener;
 import javafx.fxml.FXML;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/funds/transactions/TransactionsView.java b/gui/src/main/java/io/bitsquare/gui/main/funds/transactions/TransactionsView.java
index 647568a681..17948ea303 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/funds/transactions/TransactionsView.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/funds/transactions/TransactionsView.java
@@ -29,8 +29,8 @@ import java.util.stream.Collectors;
 
 import javax.inject.Inject;
 
-import viewfx.view.FxmlView;
-import viewfx.view.support.ActivatableViewAndModel;
+import io.bitsquare.viewfx.view.FxmlView;
+import io.bitsquare.viewfx.view.ActivatableViewAndModel;
 
 import javafx.beans.property.ReadOnlyObjectWrapper;
 import javafx.collections.FXCollections;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/funds/withdrawal/WithdrawalView.java b/gui/src/main/java/io/bitsquare/gui/main/funds/withdrawal/WithdrawalView.java
index a5a0646790..bd487fc4f3 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/funds/withdrawal/WithdrawalView.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/funds/withdrawal/WithdrawalView.java
@@ -38,8 +38,8 @@ import java.util.stream.Collectors;
 
 import javax.inject.Inject;
 
-import viewfx.view.FxmlView;
-import viewfx.view.support.ActivatableViewAndModel;
+import io.bitsquare.viewfx.view.FxmlView;
+import io.bitsquare.viewfx.view.ActivatableViewAndModel;
 
 import javafx.beans.property.ReadOnlyObjectWrapper;
 import javafx.collections.FXCollections;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/home/HomeView.java b/gui/src/main/java/io/bitsquare/gui/main/home/HomeView.java
index f507f2a25c..4e2d6a3109 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/home/HomeView.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/home/HomeView.java
@@ -17,8 +17,8 @@
 
 package io.bitsquare.gui.main.home;
 
-import viewfx.view.FxmlView;
-import viewfx.view.support.AbstractView;
+import io.bitsquare.viewfx.view.FxmlView;
+import io.bitsquare.viewfx.view.AbstractView;
 
 // home is just hosting the arbiters buttons yet, but that's just for dev, not clear yet what will be in home,
 // probably overview, event history, news, charts,... -> low prio
diff --git a/gui/src/main/java/io/bitsquare/gui/main/msg/MsgView.java b/gui/src/main/java/io/bitsquare/gui/main/msg/MsgView.java
index 9f400386cd..c15faf4247 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/msg/MsgView.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/msg/MsgView.java
@@ -17,8 +17,8 @@
 
 package io.bitsquare.gui.main.msg;
 
-import viewfx.view.FxmlView;
-import viewfx.view.support.AbstractView;
+import io.bitsquare.viewfx.view.FxmlView;
+import io.bitsquare.viewfx.view.AbstractView;
 
 // will be probably only used for arbitration communication, will be renamed and the icon changed
 @FxmlView
diff --git a/gui/src/main/java/io/bitsquare/gui/main/portfolio/PortfolioView.java b/gui/src/main/java/io/bitsquare/gui/main/portfolio/PortfolioView.java
index 85e2b83a01..6398d0e32c 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/portfolio/PortfolioView.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/portfolio/PortfolioView.java
@@ -26,12 +26,12 @@ import io.bitsquare.trade.TradeManager;
 
 import javax.inject.Inject;
 
-import viewfx.model.Activatable;
-import viewfx.view.FxmlView;
-import viewfx.view.View;
-import viewfx.view.ViewLoader;
-import viewfx.view.support.ActivatableViewAndModel;
-import viewfx.view.support.CachingViewLoader;
+import io.bitsquare.viewfx.model.Activatable;
+import io.bitsquare.viewfx.view.FxmlView;
+import io.bitsquare.viewfx.view.View;
+import io.bitsquare.viewfx.view.ViewLoader;
+import io.bitsquare.viewfx.view.ActivatableViewAndModel;
+import io.bitsquare.viewfx.view.CachingViewLoader;
 
 import javafx.beans.value.ChangeListener;
 import javafx.fxml.FXML;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/portfolio/closed/ClosedTradesDataModel.java b/gui/src/main/java/io/bitsquare/gui/main/portfolio/closed/ClosedTradesDataModel.java
index a3522bdd3e..cc2b056d7b 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/portfolio/closed/ClosedTradesDataModel.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/portfolio/closed/ClosedTradesDataModel.java
@@ -25,8 +25,8 @@ import io.bitsquare.user.User;
 
 import com.google.inject.Inject;
 
-import viewfx.model.Activatable;
-import viewfx.model.DataModel;
+import io.bitsquare.viewfx.model.Activatable;
+import io.bitsquare.viewfx.model.DataModel;
 
 import javafx.collections.FXCollections;
 import javafx.collections.MapChangeListener;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/portfolio/closed/ClosedTradesView.java b/gui/src/main/java/io/bitsquare/gui/main/portfolio/closed/ClosedTradesView.java
index 8cd4cce04e..f4ad90d123 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/portfolio/closed/ClosedTradesView.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/portfolio/closed/ClosedTradesView.java
@@ -21,8 +21,8 @@ import io.bitsquare.gui.components.Popups;
 
 import javax.inject.Inject;
 
-import viewfx.view.FxmlView;
-import viewfx.view.support.ActivatableViewAndModel;
+import io.bitsquare.viewfx.view.FxmlView;
+import io.bitsquare.viewfx.view.ActivatableViewAndModel;
 
 import javafx.beans.property.ReadOnlyObjectWrapper;
 import javafx.fxml.FXML;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/portfolio/closed/ClosedTradesViewModel.java b/gui/src/main/java/io/bitsquare/gui/main/portfolio/closed/ClosedTradesViewModel.java
index 84e32950e1..ef3e62838f 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/portfolio/closed/ClosedTradesViewModel.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/portfolio/closed/ClosedTradesViewModel.java
@@ -21,8 +21,8 @@ import io.bitsquare.gui.util.BSFormatter;
 
 import com.google.inject.Inject;
 
-import viewfx.model.ViewModel;
-import viewfx.model.support.ActivatableWithDataModel;
+import io.bitsquare.viewfx.model.ViewModel;
+import io.bitsquare.viewfx.model.ActivatableWithDataModel;
 
 import javafx.collections.ObservableList;
 
diff --git a/gui/src/main/java/io/bitsquare/gui/main/portfolio/offer/OffersDataModel.java b/gui/src/main/java/io/bitsquare/gui/main/portfolio/offer/OffersDataModel.java
index 630abd4d19..fa2774d432 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/portfolio/offer/OffersDataModel.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/portfolio/offer/OffersDataModel.java
@@ -29,8 +29,8 @@ import com.google.inject.Inject;
 
 import java.util.stream.Collectors;
 
-import viewfx.model.Activatable;
-import viewfx.model.DataModel;
+import io.bitsquare.viewfx.model.Activatable;
+import io.bitsquare.viewfx.model.DataModel;
 
 import javafx.collections.FXCollections;
 import javafx.collections.MapChangeListener;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/portfolio/offer/OffersView.java b/gui/src/main/java/io/bitsquare/gui/main/portfolio/offer/OffersView.java
index 99ed4418cd..1d5eaa02c3 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/portfolio/offer/OffersView.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/portfolio/offer/OffersView.java
@@ -22,8 +22,8 @@ import io.bitsquare.util.Utilities;
 
 import javax.inject.Inject;
 
-import viewfx.view.FxmlView;
-import viewfx.view.support.ActivatableViewAndModel;
+import io.bitsquare.viewfx.view.FxmlView;
+import io.bitsquare.viewfx.view.ActivatableViewAndModel;
 
 import javafx.beans.property.ReadOnlyObjectWrapper;
 import javafx.fxml.FXML;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/portfolio/offer/OffersViewModel.java b/gui/src/main/java/io/bitsquare/gui/main/portfolio/offer/OffersViewModel.java
index 9a149977d5..18bb939589 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/portfolio/offer/OffersViewModel.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/portfolio/offer/OffersViewModel.java
@@ -22,8 +22,8 @@ import io.bitsquare.gui.util.BSFormatter;
 
 import com.google.inject.Inject;
 
-import viewfx.model.ViewModel;
-import viewfx.model.support.ActivatableWithDataModel;
+import io.bitsquare.viewfx.model.ViewModel;
+import io.bitsquare.viewfx.model.ActivatableWithDataModel;
 
 import javafx.collections.ObservableList;
 
diff --git a/gui/src/main/java/io/bitsquare/gui/main/portfolio/pending/PendingTradesDataModel.java b/gui/src/main/java/io/bitsquare/gui/main/portfolio/pending/PendingTradesDataModel.java
index 392f2a7852..23fcc5406b 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/portfolio/pending/PendingTradesDataModel.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/portfolio/pending/PendingTradesDataModel.java
@@ -39,8 +39,8 @@ import com.google.inject.Inject;
 
 import java.util.Optional;
 
-import viewfx.model.Activatable;
-import viewfx.model.DataModel;
+import io.bitsquare.viewfx.model.Activatable;
+import io.bitsquare.viewfx.model.DataModel;
 
 import javafx.beans.property.ObjectProperty;
 import javafx.beans.property.SimpleObjectProperty;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/portfolio/pending/PendingTradesView.java b/gui/src/main/java/io/bitsquare/gui/main/portfolio/pending/PendingTradesView.java
index 96bc551751..d947d6243f 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/portfolio/pending/PendingTradesView.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/portfolio/pending/PendingTradesView.java
@@ -43,8 +43,8 @@ import java.util.List;
 
 import javax.inject.Inject;
 
-import viewfx.view.FxmlView;
-import viewfx.view.support.ActivatableViewAndModel;
+import io.bitsquare.viewfx.view.FxmlView;
+import io.bitsquare.viewfx.view.ActivatableViewAndModel;
 
 import javafx.application.Platform;
 import javafx.beans.property.ReadOnlyObjectWrapper;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/portfolio/pending/PendingTradesViewModel.java b/gui/src/main/java/io/bitsquare/gui/main/portfolio/pending/PendingTradesViewModel.java
index f31c2a9cd9..e5044598eb 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/portfolio/pending/PendingTradesViewModel.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/portfolio/pending/PendingTradesViewModel.java
@@ -30,8 +30,8 @@ import com.google.inject.Inject;
 
 import java.util.Date;
 
-import viewfx.model.ViewModel;
-import viewfx.model.support.ActivatableWithDataModel;
+import io.bitsquare.viewfx.model.ViewModel;
+import io.bitsquare.viewfx.model.ActivatableWithDataModel;
 
 import javafx.beans.InvalidationListener;
 import javafx.beans.property.BooleanProperty;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/settings/SettingsView.java b/gui/src/main/java/io/bitsquare/gui/main/settings/SettingsView.java
index 633e5f7709..c42374f46a 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/settings/SettingsView.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/settings/SettingsView.java
@@ -25,12 +25,12 @@ import io.bitsquare.settings.Preferences;
 
 import javax.inject.Inject;
 
-import viewfx.model.Activatable;
-import viewfx.view.FxmlView;
-import viewfx.view.View;
-import viewfx.view.ViewLoader;
-import viewfx.view.support.ActivatableViewAndModel;
-import viewfx.view.support.CachingViewLoader;
+import io.bitsquare.viewfx.model.Activatable;
+import io.bitsquare.viewfx.view.FxmlView;
+import io.bitsquare.viewfx.view.View;
+import io.bitsquare.viewfx.view.ViewLoader;
+import io.bitsquare.viewfx.view.ActivatableViewAndModel;
+import io.bitsquare.viewfx.view.CachingViewLoader;
 
 import javafx.beans.value.ChangeListener;
 import javafx.fxml.FXML;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/settings/application/PreferencesDataModel.java b/gui/src/main/java/io/bitsquare/gui/main/settings/application/PreferencesDataModel.java
index 63b1ae3825..877527a72a 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/settings/application/PreferencesDataModel.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/settings/application/PreferencesDataModel.java
@@ -21,8 +21,8 @@ import io.bitsquare.settings.Preferences;
 
 import com.google.inject.Inject;
 
-import viewfx.model.Activatable;
-import viewfx.model.DataModel;
+import io.bitsquare.viewfx.model.Activatable;
+import io.bitsquare.viewfx.model.DataModel;
 
 import javafx.beans.property.BooleanProperty;
 import javafx.beans.property.SimpleBooleanProperty;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/settings/application/PreferencesView.java b/gui/src/main/java/io/bitsquare/gui/main/settings/application/PreferencesView.java
index 7f4abc1825..467a2116ca 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/settings/application/PreferencesView.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/settings/application/PreferencesView.java
@@ -19,8 +19,8 @@ package io.bitsquare.gui.main.settings.application;
 
 import javax.inject.Inject;
 
-import viewfx.view.FxmlView;
-import viewfx.view.support.ActivatableViewAndModel;
+import io.bitsquare.viewfx.view.FxmlView;
+import io.bitsquare.viewfx.view.ActivatableViewAndModel;
 
 import javafx.fxml.FXML;
 import javafx.scene.control.*;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/settings/application/PreferencesViewModel.java b/gui/src/main/java/io/bitsquare/gui/main/settings/application/PreferencesViewModel.java
index c20766ae70..32a4a73933 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/settings/application/PreferencesViewModel.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/settings/application/PreferencesViewModel.java
@@ -19,8 +19,8 @@ package io.bitsquare.gui.main.settings.application;
 
 import com.google.inject.Inject;
 
-import viewfx.model.ViewModel;
-import viewfx.model.support.ActivatableWithDataModel;
+import io.bitsquare.viewfx.model.ViewModel;
+import io.bitsquare.viewfx.model.ActivatableWithDataModel;
 
 import javafx.beans.property.BooleanProperty;
 import javafx.beans.property.StringProperty;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/settings/network/NetworkSettingsView.java b/gui/src/main/java/io/bitsquare/gui/main/settings/network/NetworkSettingsView.java
index e19d37f733..c53797f1c9 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/settings/network/NetworkSettingsView.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/settings/network/NetworkSettingsView.java
@@ -22,8 +22,8 @@ import io.bitsquare.network.ClientNode;
 
 import javax.inject.Inject;
 
-import viewfx.view.FxmlView;
-import viewfx.view.support.InitializableView;
+import io.bitsquare.viewfx.view.FxmlView;
+import io.bitsquare.viewfx.view.InitializableView;
 
 import javafx.fxml.FXML;
 import javafx.scene.control.*;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/trade/BuyView.java b/gui/src/main/java/io/bitsquare/gui/main/trade/BuyView.java
index 2667694893..f6c2d5bf7a 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/trade/BuyView.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/trade/BuyView.java
@@ -21,8 +21,8 @@ import io.bitsquare.gui.Navigation;
 
 import javax.inject.Inject;
 
-import viewfx.view.FxmlView;
-import viewfx.view.ViewLoader;
+import io.bitsquare.viewfx.view.FxmlView;
+import io.bitsquare.viewfx.view.ViewLoader;
 
 @FxmlView
 public class BuyView extends TradeView {
diff --git a/gui/src/main/java/io/bitsquare/gui/main/trade/SellView.java b/gui/src/main/java/io/bitsquare/gui/main/trade/SellView.java
index d664b075cc..e698ab0109 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/trade/SellView.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/trade/SellView.java
@@ -21,8 +21,8 @@ import io.bitsquare.gui.Navigation;
 
 import javax.inject.Inject;
 
-import viewfx.view.FxmlView;
-import viewfx.view.ViewLoader;
+import io.bitsquare.viewfx.view.FxmlView;
+import io.bitsquare.viewfx.view.ViewLoader;
 
 @FxmlView
 public class SellView extends TradeView {
diff --git a/gui/src/main/java/io/bitsquare/gui/main/trade/TradeView.java b/gui/src/main/java/io/bitsquare/gui/main/trade/TradeView.java
index 4a3fbcf2a9..00a3ad865b 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/trade/TradeView.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/trade/TradeView.java
@@ -32,9 +32,9 @@ import org.bitcoinj.utils.Fiat;
 
 import java.util.List;
 
-import viewfx.view.View;
-import viewfx.view.ViewLoader;
-import viewfx.view.support.ActivatableView;
+import io.bitsquare.viewfx.view.View;
+import io.bitsquare.viewfx.view.ViewLoader;
+import io.bitsquare.viewfx.view.ActivatableView;
 
 import javafx.application.Platform;
 import javafx.collections.ListChangeListener;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/trade/createoffer/CreateOfferDataModel.java b/gui/src/main/java/io/bitsquare/gui/main/trade/createoffer/CreateOfferDataModel.java
index 1a7c32ef17..027f6ce630 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/trade/createoffer/CreateOfferDataModel.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/trade/createoffer/CreateOfferDataModel.java
@@ -41,8 +41,8 @@ import com.google.inject.Inject;
 import java.util.Locale;
 import java.util.UUID;
 
-import viewfx.model.Activatable;
-import viewfx.model.DataModel;
+import io.bitsquare.viewfx.model.Activatable;
+import io.bitsquare.viewfx.model.DataModel;
 
 import javafx.beans.property.BooleanProperty;
 import javafx.beans.property.ObjectProperty;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/trade/createoffer/CreateOfferView.java b/gui/src/main/java/io/bitsquare/gui/main/trade/createoffer/CreateOfferView.java
index d15e05b02d..f79772a6ba 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/trade/createoffer/CreateOfferView.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/trade/createoffer/CreateOfferView.java
@@ -45,8 +45,8 @@ import java.util.List;
 
 import javax.inject.Inject;
 
-import viewfx.view.FxmlView;
-import viewfx.view.support.ActivatableViewAndModel;
+import io.bitsquare.viewfx.view.FxmlView;
+import io.bitsquare.viewfx.view.ActivatableViewAndModel;
 
 import javafx.beans.property.BooleanProperty;
 import javafx.event.ActionEvent;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/trade/createoffer/CreateOfferViewModel.java b/gui/src/main/java/io/bitsquare/gui/main/trade/createoffer/CreateOfferViewModel.java
index 4bd1dcf7c0..01d996d424 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/trade/createoffer/CreateOfferViewModel.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/trade/createoffer/CreateOfferViewModel.java
@@ -31,8 +31,8 @@ import org.bitcoinj.utils.Fiat;
 
 import javax.inject.Inject;
 
-import viewfx.model.ViewModel;
-import viewfx.model.support.ActivatableWithDataModel;
+import io.bitsquare.viewfx.model.ViewModel;
+import io.bitsquare.viewfx.model.ActivatableWithDataModel;
 
 import javafx.beans.Observable;
 import javafx.beans.binding.Bindings;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/trade/offerbook/OfferBookDataModel.java b/gui/src/main/java/io/bitsquare/gui/main/trade/offerbook/OfferBookDataModel.java
index 0e048e48f8..8d65394ee9 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/trade/offerbook/OfferBookDataModel.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/trade/offerbook/OfferBookDataModel.java
@@ -36,8 +36,8 @@ import org.bitcoinj.utils.Fiat;
 
 import com.google.inject.Inject;
 
-import viewfx.model.Activatable;
-import viewfx.model.DataModel;
+import io.bitsquare.viewfx.model.Activatable;
+import io.bitsquare.viewfx.model.DataModel;
 
 import javafx.beans.property.ObjectProperty;
 import javafx.beans.property.SimpleObjectProperty;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/trade/offerbook/OfferBookView.java b/gui/src/main/java/io/bitsquare/gui/main/trade/offerbook/OfferBookView.java
index b1f7076dc5..c0a130d2cb 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/trade/offerbook/OfferBookView.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/trade/offerbook/OfferBookView.java
@@ -39,8 +39,8 @@ import java.util.List;
 
 import javax.inject.Inject;
 
-import viewfx.view.FxmlView;
-import viewfx.view.support.ActivatableViewAndModel;
+import io.bitsquare.viewfx.view.FxmlView;
+import io.bitsquare.viewfx.view.ActivatableViewAndModel;
 
 import javafx.beans.property.ObjectProperty;
 import javafx.beans.property.ReadOnlyObjectWrapper;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/trade/offerbook/OfferBookViewModel.java b/gui/src/main/java/io/bitsquare/gui/main/trade/offerbook/OfferBookViewModel.java
index 1319daf2a5..bdb93d2c04 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/trade/offerbook/OfferBookViewModel.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/trade/offerbook/OfferBookViewModel.java
@@ -31,8 +31,8 @@ import org.bitcoinj.utils.Fiat;
 
 import com.google.inject.Inject;
 
-import viewfx.model.ViewModel;
-import viewfx.model.support.ActivatableWithDataModel;
+import io.bitsquare.viewfx.model.ViewModel;
+import io.bitsquare.viewfx.model.ActivatableWithDataModel;
 
 import javafx.beans.property.SimpleStringProperty;
 import javafx.beans.property.StringProperty;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/trade/takeoffer/TakeOfferDataModel.java b/gui/src/main/java/io/bitsquare/gui/main/trade/takeoffer/TakeOfferDataModel.java
index 6a8f20d99d..9091297925 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/trade/takeoffer/TakeOfferDataModel.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/trade/takeoffer/TakeOfferDataModel.java
@@ -33,8 +33,8 @@ import org.bitcoinj.utils.Fiat;
 
 import com.google.inject.Inject;
 
-import viewfx.model.Activatable;
-import viewfx.model.DataModel;
+import io.bitsquare.viewfx.model.Activatable;
+import io.bitsquare.viewfx.model.DataModel;
 
 import javafx.beans.property.BooleanProperty;
 import javafx.beans.property.ObjectProperty;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/trade/takeoffer/TakeOfferView.java b/gui/src/main/java/io/bitsquare/gui/main/trade/takeoffer/TakeOfferView.java
index 800abb70ba..6f035cf6e8 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/trade/takeoffer/TakeOfferView.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/trade/takeoffer/TakeOfferView.java
@@ -43,8 +43,8 @@ import java.util.List;
 
 import javax.inject.Inject;
 
-import viewfx.view.FxmlView;
-import viewfx.view.support.ActivatableViewAndModel;
+import io.bitsquare.viewfx.view.FxmlView;
+import io.bitsquare.viewfx.view.ActivatableViewAndModel;
 
 import javafx.beans.property.BooleanProperty;
 import javafx.beans.value.ChangeListener;
diff --git a/gui/src/main/java/io/bitsquare/gui/main/trade/takeoffer/TakeOfferViewModel.java b/gui/src/main/java/io/bitsquare/gui/main/trade/takeoffer/TakeOfferViewModel.java
index 818b213fa9..aa7c2685e4 100644
--- a/gui/src/main/java/io/bitsquare/gui/main/trade/takeoffer/TakeOfferViewModel.java
+++ b/gui/src/main/java/io/bitsquare/gui/main/trade/takeoffer/TakeOfferViewModel.java
@@ -30,8 +30,8 @@ import org.bitcoinj.core.Coin;
 
 import javax.inject.Inject;
 
-import viewfx.model.ViewModel;
-import viewfx.model.support.ActivatableWithDataModel;
+import io.bitsquare.viewfx.model.ViewModel;
+import io.bitsquare.viewfx.model.ActivatableWithDataModel;
 
 import javafx.beans.property.BooleanProperty;
 import javafx.beans.property.ObjectProperty;
diff --git a/gui/src/main/java/io/bitsquare/network/tomp2p/TomP2PNode.java b/gui/src/main/java/io/bitsquare/network/tomp2p/TomP2PNode.java
index 2b0c5e0f3a..58bfbf993f 100644
--- a/gui/src/main/java/io/bitsquare/network/tomp2p/TomP2PNode.java
+++ b/gui/src/main/java/io/bitsquare/network/tomp2p/TomP2PNode.java
@@ -301,7 +301,7 @@ public class TomP2PNode implements ClientNode {
             else {
                 throw new RuntimeException("Received msg from myself. That must never happen.");
             }
-            return null;
+            return true;
         });
     }
 
diff --git a/gui/src/main/java/io/bitsquare/trade/TradeManager.java b/gui/src/main/java/io/bitsquare/trade/TradeManager.java
index a6f14fffd1..0f09d445bb 100644
--- a/gui/src/main/java/io/bitsquare/trade/TradeManager.java
+++ b/gui/src/main/java/io/bitsquare/trade/TradeManager.java
@@ -30,6 +30,7 @@ import io.bitsquare.offer.OfferBookService;
 import io.bitsquare.offer.OpenOffer;
 import io.bitsquare.persistence.Persistence;
 import io.bitsquare.trade.handlers.TransactionResultHandler;
+import io.bitsquare.trade.listeners.MessageHandler;
 import io.bitsquare.trade.listeners.SendMessageListener;
 import io.bitsquare.trade.protocol.availability.CheckOfferAvailabilityModel;
 import io.bitsquare.trade.protocol.availability.CheckOfferAvailabilityProtocol;
@@ -80,6 +81,7 @@ public class TradeManager {
     private final ObservableMap<String, OpenOffer> openOffers = FXCollections.observableHashMap();
     private final ObservableMap<String, Trade> pendingTrades = FXCollections.observableHashMap();
     private final ObservableMap<String, Trade> closedTrades = FXCollections.observableHashMap();
+    private final MessageHandler messageHandler;
 
     private Trade currentPendingTrade;
 
@@ -116,8 +118,9 @@ public class TradeManager {
         if (closedTradesObject instanceof Map) {
             closedTrades.putAll((Map<String, Trade>) closedTradesObject);
         }
-
-        tradeMessageService.addMessageHandler(this::handleMessage);
+        messageHandler = this::handleMessage;
+        
+        tradeMessageService.addMessageHandler(messageHandler);
     }
 
 
diff --git a/gui/src/main/java/io/bitsquare/trade/protocol/availability/CheckOfferAvailabilityProtocol.java b/gui/src/main/java/io/bitsquare/trade/protocol/availability/CheckOfferAvailabilityProtocol.java
index dcbe45f4ef..6f55e17cbd 100644
--- a/gui/src/main/java/io/bitsquare/trade/protocol/availability/CheckOfferAvailabilityProtocol.java
+++ b/gui/src/main/java/io/bitsquare/trade/protocol/availability/CheckOfferAvailabilityProtocol.java
@@ -20,11 +20,14 @@ package io.bitsquare.trade.protocol.availability;
 import io.bitsquare.network.Message;
 import io.bitsquare.network.Peer;
 import io.bitsquare.offer.Offer;
+import io.bitsquare.trade.listeners.MessageHandler;
 import io.bitsquare.trade.protocol.availability.messages.ReportOfferAvailabilityMessage;
 import io.bitsquare.trade.protocol.availability.tasks.GetPeerAddress;
 import io.bitsquare.trade.protocol.availability.tasks.RequestIsOfferAvailable;
 import io.bitsquare.util.tasks.TaskRunner;
 
+import javafx.application.Platform;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -33,7 +36,9 @@ import static io.bitsquare.util.Validator.nonEmptyStringOf;
 public class CheckOfferAvailabilityProtocol {
     private static final Logger log = LoggerFactory.getLogger(CheckOfferAvailabilityProtocol.class);
 
-    private CheckOfferAvailabilityModel model;
+    private final CheckOfferAvailabilityModel model;
+    private final MessageHandler messageHandler;
+
     private boolean isCanceled;
     private TaskRunner<CheckOfferAvailabilityModel> sequence;
 
@@ -44,10 +49,12 @@ public class CheckOfferAvailabilityProtocol {
 
     public CheckOfferAvailabilityProtocol(CheckOfferAvailabilityModel model) {
         this.model = model;
+        messageHandler = this::handleMessage;
     }
 
     public void cleanup() {
-        model.getTradeMessageService().removeMessageHandler(this::handleMessage);
+        // cannot remove listener in same execution cycle, so we delay it
+        Platform.runLater(() -> model.getTradeMessageService().removeMessageHandler(messageHandler));
     }
 
 
@@ -56,7 +63,7 @@ public class CheckOfferAvailabilityProtocol {
     ///////////////////////////////////////////////////////////////////////////////////////////
 
     public void checkOfferAvailability() {
-        model.getTradeMessageService().addMessageHandler(this::handleMessage);
+        model.getTradeMessageService().addMessageHandler(messageHandler);
 
         sequence = new TaskRunner<>(model,
                 () -> {
@@ -95,8 +102,7 @@ public class CheckOfferAvailabilityProtocol {
                         model.getOffer().setState(Offer.State.OFFER_NOT_AVAILABLE);
                 }
             }
+            model.getResultHandler().handleResult();
         }
-
-        model.getResultHandler().handleResult();
     }
 }
diff --git a/gui/src/main/java/io/bitsquare/trade/protocol/trade/offerer/BuyerAsOffererProtocol.java b/gui/src/main/java/io/bitsquare/trade/protocol/trade/offerer/BuyerAsOffererProtocol.java
index cfda27312d..e494c78fdf 100644
--- a/gui/src/main/java/io/bitsquare/trade/protocol/trade/offerer/BuyerAsOffererProtocol.java
+++ b/gui/src/main/java/io/bitsquare/trade/protocol/trade/offerer/BuyerAsOffererProtocol.java
@@ -19,6 +19,7 @@ package io.bitsquare.trade.protocol.trade.offerer;
 
 import io.bitsquare.network.Message;
 import io.bitsquare.network.Peer;
+import io.bitsquare.trade.listeners.MessageHandler;
 import io.bitsquare.trade.protocol.trade.TradeMessage;
 import io.bitsquare.trade.protocol.trade.offerer.tasks.CreateDepositTx;
 import io.bitsquare.trade.protocol.trade.offerer.tasks.ProcessPayoutTxPublishedMessage;
@@ -50,7 +51,7 @@ public class BuyerAsOffererProtocol {
     private static final Logger log = LoggerFactory.getLogger(BuyerAsOffererProtocol.class);
 
     private BuyerAsOffererModel model;
-
+    private final MessageHandler messageHandler;
 
     ///////////////////////////////////////////////////////////////////////////////////////////
     // Constructor
@@ -58,8 +59,9 @@ public class BuyerAsOffererProtocol {
 
     public BuyerAsOffererProtocol(BuyerAsOffererModel model) {
         this.model = model;
+        messageHandler = this::handleMessage;
 
-        model.getTradeMessageService().addMessageHandler(this::handleMessage);
+        model.getTradeMessageService().addMessageHandler(messageHandler);
     }
 
 
@@ -68,7 +70,9 @@ public class BuyerAsOffererProtocol {
     ///////////////////////////////////////////////////////////////////////////////////////////
 
     public void cleanup() {
-        model.getTradeMessageService().removeMessageHandler(this::handleMessage);
+        model.getTradeMessageService().removeMessageHandler(messageHandler);
+        // cannot remove listener in same execution cycle, so we delay it
+        //Platform.runLater(() -> model.getTradeMessageService().removeMessageHandler(messageHandler));
     }
 
 
diff --git a/gui/src/main/java/io/bitsquare/trade/protocol/trade/taker/SellerAsTakerProtocol.java b/gui/src/main/java/io/bitsquare/trade/protocol/trade/taker/SellerAsTakerProtocol.java
index 1ae9b3533b..ab479959a3 100644
--- a/gui/src/main/java/io/bitsquare/trade/protocol/trade/taker/SellerAsTakerProtocol.java
+++ b/gui/src/main/java/io/bitsquare/trade/protocol/trade/taker/SellerAsTakerProtocol.java
@@ -20,6 +20,7 @@ package io.bitsquare.trade.protocol.trade.taker;
 import io.bitsquare.network.Message;
 import io.bitsquare.network.Peer;
 import io.bitsquare.trade.Trade;
+import io.bitsquare.trade.listeners.MessageHandler;
 import io.bitsquare.trade.protocol.trade.TradeMessage;
 import io.bitsquare.trade.protocol.trade.offerer.messages.BankTransferStartedMessage;
 import io.bitsquare.trade.protocol.trade.offerer.messages.DepositTxPublishedMessage;
@@ -29,16 +30,16 @@ import io.bitsquare.trade.protocol.trade.taker.tasks.CreateAndSignContract;
 import io.bitsquare.trade.protocol.trade.taker.tasks.GetPeerAddress;
 import io.bitsquare.trade.protocol.trade.taker.tasks.PayDeposit;
 import io.bitsquare.trade.protocol.trade.taker.tasks.PayTakeOfferFee;
+import io.bitsquare.trade.protocol.trade.taker.tasks.ProcessBankTransferInitedMessage;
+import io.bitsquare.trade.protocol.trade.taker.tasks.ProcessDepositTxPublishedMessage;
+import io.bitsquare.trade.protocol.trade.taker.tasks.ProcessRespondToTakeOfferRequestMessage;
+import io.bitsquare.trade.protocol.trade.taker.tasks.ProcessTakerDepositPaymentRequestMessage;
 import io.bitsquare.trade.protocol.trade.taker.tasks.RequestTakeOffer;
 import io.bitsquare.trade.protocol.trade.taker.tasks.SendPayoutTxToOfferer;
 import io.bitsquare.trade.protocol.trade.taker.tasks.SendSignedTakerDepositTxAsHex;
 import io.bitsquare.trade.protocol.trade.taker.tasks.SendTakeOfferFeePayedMessage;
 import io.bitsquare.trade.protocol.trade.taker.tasks.SignAndPublishPayoutTx;
 import io.bitsquare.trade.protocol.trade.taker.tasks.TakerCommitDepositTx;
-import io.bitsquare.trade.protocol.trade.taker.tasks.ProcessBankTransferInitedMessage;
-import io.bitsquare.trade.protocol.trade.taker.tasks.ProcessDepositTxPublishedMessage;
-import io.bitsquare.trade.protocol.trade.taker.tasks.ProcessRespondToTakeOfferRequestMessage;
-import io.bitsquare.trade.protocol.trade.taker.tasks.ProcessTakerDepositPaymentRequestMessage;
 import io.bitsquare.trade.protocol.trade.taker.tasks.VerifyOfferFeePayment;
 import io.bitsquare.trade.protocol.trade.taker.tasks.VerifyOffererAccount;
 
@@ -51,7 +52,7 @@ public class SellerAsTakerProtocol {
     private static final Logger log = LoggerFactory.getLogger(SellerAsTakerProtocol.class);
 
     private final SellerAsTakerModel model;
-
+    private final MessageHandler messageHandler;
 
     ///////////////////////////////////////////////////////////////////////////////////////////
     // Constructor
@@ -59,15 +60,16 @@ public class SellerAsTakerProtocol {
 
     public SellerAsTakerProtocol(SellerAsTakerModel model) {
         this.model = model;
+        messageHandler = this::handleMessage;
     }
-    
+
 
     ///////////////////////////////////////////////////////////////////////////////////////////
     // Called from UI
     ///////////////////////////////////////////////////////////////////////////////////////////
-    
+
     public void takeOffer() {
-        model.getTradeMessageService().addMessageHandler(this::handleMessage);
+        model.getTradeMessageService().addMessageHandler(messageHandler);
 
         SellerAsTakerTaskRunner<SellerAsTakerModel> sequence = new SellerAsTakerTaskRunner<>(model,
                 () -> {
@@ -85,9 +87,11 @@ public class SellerAsTakerProtocol {
     }
 
     public void cleanup() {
-        model.getTradeMessageService().removeMessageHandler(this::handleMessage);
+        model.getTradeMessageService().removeMessageHandler(messageHandler);
+        // cannot remove listener in same execution cycle, so we delay it
+        // Platform.runLater(() -> model.getTradeMessageService().removeMessageHandler(messageHandler));
     }
-    
+
 
     ///////////////////////////////////////////////////////////////////////////////////////////
     // Incoming message handling
diff --git a/gui/src/main/java/io/bitsquare/trade/tomp2p/TomP2PTradeMessageService.java b/gui/src/main/java/io/bitsquare/trade/tomp2p/TomP2PTradeMessageService.java
index c02ffefc72..0f03ff1f9e 100644
--- a/gui/src/main/java/io/bitsquare/trade/tomp2p/TomP2PTradeMessageService.java
+++ b/gui/src/main/java/io/bitsquare/trade/tomp2p/TomP2PTradeMessageService.java
@@ -134,11 +134,13 @@ public class TomP2PTradeMessageService implements TradeMessageService {
     ///////////////////////////////////////////////////////////////////////////////////////////
 
     public void addMessageHandler(MessageHandler listener) {
-        messageHandlers.add(listener);
+        if (!messageHandlers.add(listener))
+            throw new RuntimeException("Add listener did not change list. Probably listener has been already added.");
     }
 
     public void removeMessageHandler(MessageHandler listener) {
-        messageHandlers.remove(listener);
+        if (!messageHandlers.remove(listener))
+            throw new RuntimeException("Try to remove listener which was never added.");
     }
 
 
diff --git a/gui/src/main/java/viewfx/ViewfxException.java b/gui/src/main/java/io/bitsquare/viewfx/ViewfxException.java
similarity index 97%
rename from gui/src/main/java/viewfx/ViewfxException.java
rename to gui/src/main/java/io/bitsquare/viewfx/ViewfxException.java
index b837d500ac..319061d8b3 100644
--- a/gui/src/main/java/viewfx/ViewfxException.java
+++ b/gui/src/main/java/io/bitsquare/viewfx/ViewfxException.java
@@ -15,7 +15,7 @@
  * along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
  */
 
-package viewfx;
+package io.bitsquare.viewfx;
 
 import static java.lang.String.format;
 
diff --git a/gui/src/main/java/viewfx/model/Activatable.java b/gui/src/main/java/io/bitsquare/viewfx/model/Activatable.java
similarity index 96%
rename from gui/src/main/java/viewfx/model/Activatable.java
rename to gui/src/main/java/io/bitsquare/viewfx/model/Activatable.java
index 3a4f47d237..f794b4b672 100644
--- a/gui/src/main/java/viewfx/model/Activatable.java
+++ b/gui/src/main/java/io/bitsquare/viewfx/model/Activatable.java
@@ -15,7 +15,7 @@
  * along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
  */
 
-package viewfx.model;
+package io.bitsquare.viewfx.model;
 
 public interface Activatable {
 
diff --git a/gui/src/main/java/viewfx/model/support/ActivatableWithDataModel.java b/gui/src/main/java/io/bitsquare/viewfx/model/ActivatableWithDataModel.java
similarity index 95%
rename from gui/src/main/java/viewfx/model/support/ActivatableWithDataModel.java
rename to gui/src/main/java/io/bitsquare/viewfx/model/ActivatableWithDataModel.java
index 7178bdb0e1..b12285df46 100644
--- a/gui/src/main/java/viewfx/model/support/ActivatableWithDataModel.java
+++ b/gui/src/main/java/io/bitsquare/viewfx/model/ActivatableWithDataModel.java
@@ -15,9 +15,7 @@
  * along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
  */
 
-package viewfx.model.support;
-
-import viewfx.model.Activatable;
+package io.bitsquare.viewfx.model;
 
 public abstract class ActivatableWithDataModel<D extends Activatable> extends WithDataModel<D> implements Activatable {
 
diff --git a/gui/src/main/java/viewfx/model/DataModel.java b/gui/src/main/java/io/bitsquare/viewfx/model/DataModel.java
similarity index 95%
rename from gui/src/main/java/viewfx/model/DataModel.java
rename to gui/src/main/java/io/bitsquare/viewfx/model/DataModel.java
index 3f3094a5ab..aedbe61dc4 100644
--- a/gui/src/main/java/viewfx/model/DataModel.java
+++ b/gui/src/main/java/io/bitsquare/viewfx/model/DataModel.java
@@ -15,7 +15,7 @@
  * along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
  */
 
-package viewfx.model;
+package io.bitsquare.viewfx.model;
 
 public interface DataModel extends Model {
 }
diff --git a/gui/src/main/java/viewfx/model/Model.java b/gui/src/main/java/io/bitsquare/viewfx/model/Model.java
similarity index 95%
rename from gui/src/main/java/viewfx/model/Model.java
rename to gui/src/main/java/io/bitsquare/viewfx/model/Model.java
index 8fa74d106b..e57cdca3ba 100644
--- a/gui/src/main/java/viewfx/model/Model.java
+++ b/gui/src/main/java/io/bitsquare/viewfx/model/Model.java
@@ -15,7 +15,7 @@
  * along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
  */
 
-package viewfx.model;
+package io.bitsquare.viewfx.model;
 
 public interface Model {
 }
diff --git a/gui/src/main/java/viewfx/model/ViewModel.java b/gui/src/main/java/io/bitsquare/viewfx/model/ViewModel.java
similarity index 95%
rename from gui/src/main/java/viewfx/model/ViewModel.java
rename to gui/src/main/java/io/bitsquare/viewfx/model/ViewModel.java
index d035d0bc2e..09d93208ff 100644
--- a/gui/src/main/java/viewfx/model/ViewModel.java
+++ b/gui/src/main/java/io/bitsquare/viewfx/model/ViewModel.java
@@ -15,7 +15,7 @@
  * along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
  */
 
-package viewfx.model;
+package io.bitsquare.viewfx.model;
 
 public interface ViewModel extends Model {
 }
diff --git a/gui/src/main/java/viewfx/model/support/WithDataModel.java b/gui/src/main/java/io/bitsquare/viewfx/model/WithDataModel.java
similarity index 96%
rename from gui/src/main/java/viewfx/model/support/WithDataModel.java
rename to gui/src/main/java/io/bitsquare/viewfx/model/WithDataModel.java
index e1b1ee4059..6fd8c4e19d 100644
--- a/gui/src/main/java/viewfx/model/support/WithDataModel.java
+++ b/gui/src/main/java/io/bitsquare/viewfx/model/WithDataModel.java
@@ -15,7 +15,7 @@
  * along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
  */
 
-package viewfx.model.support;
+package io.bitsquare.viewfx.model;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 
diff --git a/gui/src/main/java/viewfx/view/support/AbstractView.java b/gui/src/main/java/io/bitsquare/viewfx/view/AbstractView.java
similarity index 94%
rename from gui/src/main/java/viewfx/view/support/AbstractView.java
rename to gui/src/main/java/io/bitsquare/viewfx/view/AbstractView.java
index 608937c62c..d5670dd006 100644
--- a/gui/src/main/java/viewfx/view/support/AbstractView.java
+++ b/gui/src/main/java/io/bitsquare/viewfx/view/AbstractView.java
@@ -15,9 +15,9 @@
  * along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
  */
 
-package viewfx.view.support;
+package io.bitsquare.viewfx.view;
 
-import viewfx.view.View;
+import io.bitsquare.viewfx.view.View;
 
 import javafx.fxml.FXML;
 import javafx.scene.*;
diff --git a/gui/src/main/java/viewfx/view/support/ActivatableView.java b/gui/src/main/java/io/bitsquare/viewfx/view/ActivatableView.java
similarity index 97%
rename from gui/src/main/java/viewfx/view/support/ActivatableView.java
rename to gui/src/main/java/io/bitsquare/viewfx/view/ActivatableView.java
index c0a9f0fa58..62c497d205 100644
--- a/gui/src/main/java/viewfx/view/support/ActivatableView.java
+++ b/gui/src/main/java/io/bitsquare/viewfx/view/ActivatableView.java
@@ -15,7 +15,7 @@
  * along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
  */
 
-package viewfx.view.support;
+package io.bitsquare.viewfx.view;
 
 import javafx.scene.*;
 
diff --git a/gui/src/main/java/viewfx/view/support/ActivatableViewAndModel.java b/gui/src/main/java/io/bitsquare/viewfx/view/ActivatableViewAndModel.java
similarity index 94%
rename from gui/src/main/java/viewfx/view/support/ActivatableViewAndModel.java
rename to gui/src/main/java/io/bitsquare/viewfx/view/ActivatableViewAndModel.java
index dc3fe6200f..2aa6422c22 100644
--- a/gui/src/main/java/viewfx/view/support/ActivatableViewAndModel.java
+++ b/gui/src/main/java/io/bitsquare/viewfx/view/ActivatableViewAndModel.java
@@ -15,9 +15,9 @@
  * along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
  */
 
-package viewfx.view.support;
+package io.bitsquare.viewfx.view;
 
-import viewfx.model.Activatable;
+import io.bitsquare.viewfx.model.Activatable;
 
 import javafx.scene.*;
 
diff --git a/gui/src/main/java/viewfx/view/support/CachingViewLoader.java b/gui/src/main/java/io/bitsquare/viewfx/view/CachingViewLoader.java
similarity index 91%
rename from gui/src/main/java/viewfx/view/support/CachingViewLoader.java
rename to gui/src/main/java/io/bitsquare/viewfx/view/CachingViewLoader.java
index 6bc3132ca0..1f62fac7f1 100644
--- a/gui/src/main/java/viewfx/view/support/CachingViewLoader.java
+++ b/gui/src/main/java/io/bitsquare/viewfx/view/CachingViewLoader.java
@@ -15,14 +15,15 @@
  * along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
  */
 
-package viewfx.view.support;
+package io.bitsquare.viewfx.view;
+
+import io.bitsquare.viewfx.view.View;
 
 import java.util.HashMap;
 
 import javax.inject.Inject;
 
-import viewfx.view.View;
-import viewfx.view.ViewLoader;
+import io.bitsquare.viewfx.view.ViewLoader;
 
 public class CachingViewLoader implements ViewLoader {
 
diff --git a/gui/src/main/java/viewfx/view/DefaultPathConvention.java b/gui/src/main/java/io/bitsquare/viewfx/view/DefaultPathConvention.java
similarity index 96%
rename from gui/src/main/java/viewfx/view/DefaultPathConvention.java
rename to gui/src/main/java/io/bitsquare/viewfx/view/DefaultPathConvention.java
index cd7b17bc1e..6a16dc616b 100644
--- a/gui/src/main/java/viewfx/view/DefaultPathConvention.java
+++ b/gui/src/main/java/io/bitsquare/viewfx/view/DefaultPathConvention.java
@@ -15,7 +15,7 @@
  * along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
  */
 
-package viewfx.view;
+package io.bitsquare.viewfx.view;
 
 import org.springframework.util.ClassUtils;
 
diff --git a/gui/src/main/java/viewfx/view/FxmlView.java b/gui/src/main/java/io/bitsquare/viewfx/view/FxmlView.java
similarity index 98%
rename from gui/src/main/java/viewfx/view/FxmlView.java
rename to gui/src/main/java/io/bitsquare/viewfx/view/FxmlView.java
index 56d9f5c1a1..4a06464b41 100644
--- a/gui/src/main/java/viewfx/view/FxmlView.java
+++ b/gui/src/main/java/io/bitsquare/viewfx/view/FxmlView.java
@@ -15,7 +15,7 @@
  * along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
  */
 
-package viewfx.view;
+package io.bitsquare.viewfx.view;
 
 import java.util.function.Function;
 
diff --git a/gui/src/main/java/viewfx/view/support/InitializableView.java b/gui/src/main/java/io/bitsquare/viewfx/view/InitializableView.java
similarity index 97%
rename from gui/src/main/java/viewfx/view/support/InitializableView.java
rename to gui/src/main/java/io/bitsquare/viewfx/view/InitializableView.java
index a94ab818ac..7c7d91b1fd 100644
--- a/gui/src/main/java/viewfx/view/support/InitializableView.java
+++ b/gui/src/main/java/io/bitsquare/viewfx/view/InitializableView.java
@@ -15,7 +15,7 @@
  * along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
  */
 
-package viewfx.view.support;
+package io.bitsquare.viewfx.view;
 
 import java.net.URL;
 
diff --git a/gui/src/main/java/viewfx/view/View.java b/gui/src/main/java/io/bitsquare/viewfx/view/View.java
similarity index 95%
rename from gui/src/main/java/viewfx/view/View.java
rename to gui/src/main/java/io/bitsquare/viewfx/view/View.java
index 6fd44a1e0a..64804e7183 100644
--- a/gui/src/main/java/viewfx/view/View.java
+++ b/gui/src/main/java/io/bitsquare/viewfx/view/View.java
@@ -15,7 +15,7 @@
  * along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
  */
 
-package viewfx.view;
+package io.bitsquare.viewfx.view;
 
 import javafx.scene.*;
 
diff --git a/gui/src/main/java/viewfx/view/ViewFactory.java b/gui/src/main/java/io/bitsquare/viewfx/view/ViewFactory.java
similarity index 95%
rename from gui/src/main/java/viewfx/view/ViewFactory.java
rename to gui/src/main/java/io/bitsquare/viewfx/view/ViewFactory.java
index 5e0370fc4d..00b8e3e088 100644
--- a/gui/src/main/java/viewfx/view/ViewFactory.java
+++ b/gui/src/main/java/io/bitsquare/viewfx/view/ViewFactory.java
@@ -15,7 +15,7 @@
  * along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
  */
 
-package viewfx.view;
+package io.bitsquare.viewfx.view;
 
 import javafx.util.Callback;
 
diff --git a/gui/src/main/java/viewfx/view/ViewLoader.java b/gui/src/main/java/io/bitsquare/viewfx/view/ViewLoader.java
similarity index 95%
rename from gui/src/main/java/viewfx/view/ViewLoader.java
rename to gui/src/main/java/io/bitsquare/viewfx/view/ViewLoader.java
index c55bdc01b3..2663b64703 100644
--- a/gui/src/main/java/viewfx/view/ViewLoader.java
+++ b/gui/src/main/java/io/bitsquare/viewfx/view/ViewLoader.java
@@ -15,7 +15,7 @@
  * along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
  */
 
-package viewfx.view;
+package io.bitsquare.viewfx.view;
 
 public interface ViewLoader {
     View load(Class<? extends View> viewClass);
diff --git a/gui/src/main/java/viewfx/view/ViewPath.java b/gui/src/main/java/io/bitsquare/viewfx/view/ViewPath.java
similarity index 97%
rename from gui/src/main/java/viewfx/view/ViewPath.java
rename to gui/src/main/java/io/bitsquare/viewfx/view/ViewPath.java
index f2ac8cfc17..fab715d1d5 100644
--- a/gui/src/main/java/viewfx/view/ViewPath.java
+++ b/gui/src/main/java/io/bitsquare/viewfx/view/ViewPath.java
@@ -15,7 +15,7 @@
  * along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
  */
 
-package viewfx.view;
+package io.bitsquare.viewfx.view;
 
 import java.util.ArrayList;
 import java.util.Arrays;
diff --git a/gui/src/main/java/viewfx/view/Wizard.java b/gui/src/main/java/io/bitsquare/viewfx/view/Wizard.java
similarity index 96%
rename from gui/src/main/java/viewfx/view/Wizard.java
rename to gui/src/main/java/io/bitsquare/viewfx/view/Wizard.java
index 604197581c..ba8474ffe0 100644
--- a/gui/src/main/java/viewfx/view/Wizard.java
+++ b/gui/src/main/java/io/bitsquare/viewfx/view/Wizard.java
@@ -15,7 +15,7 @@
  * along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
  */
 
-package viewfx.view;
+package io.bitsquare.viewfx.view;
 
 public interface Wizard extends View {
     void nextStep(Step currentStep);
diff --git a/gui/src/main/java/viewfx/view/support/fxml/FxmlViewLoader.java b/gui/src/main/java/io/bitsquare/viewfx/view/fxml/FxmlViewLoader.java
similarity index 94%
rename from gui/src/main/java/viewfx/view/support/fxml/FxmlViewLoader.java
rename to gui/src/main/java/io/bitsquare/viewfx/view/fxml/FxmlViewLoader.java
index 1bd52f5fa6..0b6bb2ba06 100644
--- a/gui/src/main/java/viewfx/view/support/fxml/FxmlViewLoader.java
+++ b/gui/src/main/java/io/bitsquare/viewfx/view/fxml/FxmlViewLoader.java
@@ -15,7 +15,11 @@
  * along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
  */
 
-package viewfx.view.support.fxml;
+package io.bitsquare.viewfx.view.fxml;
+
+import io.bitsquare.viewfx.ViewfxException;
+import io.bitsquare.viewfx.view.FxmlView;
+import io.bitsquare.viewfx.view.View;
 
 import java.io.IOException;
 
@@ -25,11 +29,8 @@ import java.util.ResourceBundle;
 
 import javax.inject.Inject;
 
-import viewfx.ViewfxException;
-import viewfx.view.FxmlView;
-import viewfx.view.View;
-import viewfx.view.ViewFactory;
-import viewfx.view.ViewLoader;
+import io.bitsquare.viewfx.view.ViewFactory;
+import io.bitsquare.viewfx.view.ViewLoader;
 
 import javafx.fxml.FXMLLoader;
 
diff --git a/gui/src/main/java/viewfx/view/support/guice/InjectorViewFactory.java b/gui/src/main/java/io/bitsquare/viewfx/view/guice/InjectorViewFactory.java
similarity index 93%
rename from gui/src/main/java/viewfx/view/support/guice/InjectorViewFactory.java
rename to gui/src/main/java/io/bitsquare/viewfx/view/guice/InjectorViewFactory.java
index b7dd0343d5..7ba5810b95 100644
--- a/gui/src/main/java/viewfx/view/support/guice/InjectorViewFactory.java
+++ b/gui/src/main/java/io/bitsquare/viewfx/view/guice/InjectorViewFactory.java
@@ -15,13 +15,13 @@
  * along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
  */
 
-package viewfx.view.support.guice;
+package io.bitsquare.viewfx.view.guice;
 
 import com.google.common.base.Preconditions;
 
 import com.google.inject.Injector;
 
-import viewfx.view.ViewFactory;
+import io.bitsquare.viewfx.view.ViewFactory;
 
 public class InjectorViewFactory implements ViewFactory {
 
diff --git a/gui/src/test/java/viewfx/view/support/fxml/FxmlViewLoaderTests$Malformed.fxml b/gui/src/test/java/io/bitsquare/viewfx/view/fxml/FxmlViewLoaderTests$Malformed.fxml
similarity index 100%
rename from gui/src/test/java/viewfx/view/support/fxml/FxmlViewLoaderTests$Malformed.fxml
rename to gui/src/test/java/io/bitsquare/viewfx/view/fxml/FxmlViewLoaderTests$Malformed.fxml
diff --git a/gui/src/test/java/viewfx/view/support/fxml/FxmlViewLoaderTests$MissingFxController.fxml b/gui/src/test/java/io/bitsquare/viewfx/view/fxml/FxmlViewLoaderTests$MissingFxController.fxml
similarity index 100%
rename from gui/src/test/java/viewfx/view/support/fxml/FxmlViewLoaderTests$MissingFxController.fxml
rename to gui/src/test/java/io/bitsquare/viewfx/view/fxml/FxmlViewLoaderTests$MissingFxController.fxml
diff --git a/gui/src/test/java/viewfx/view/support/fxml/FxmlViewLoaderTests$MissingFxmlViewAnnotation.fxml b/gui/src/test/java/io/bitsquare/viewfx/view/fxml/FxmlViewLoaderTests$MissingFxmlViewAnnotation.fxml
similarity index 87%
rename from gui/src/test/java/viewfx/view/support/fxml/FxmlViewLoaderTests$MissingFxmlViewAnnotation.fxml
rename to gui/src/test/java/io/bitsquare/viewfx/view/fxml/FxmlViewLoaderTests$MissingFxmlViewAnnotation.fxml
index e868889b54..6c81c9b81a 100644
--- a/gui/src/test/java/viewfx/view/support/fxml/FxmlViewLoaderTests$MissingFxmlViewAnnotation.fxml
+++ b/gui/src/test/java/io/bitsquare/viewfx/view/fxml/FxmlViewLoaderTests$MissingFxmlViewAnnotation.fxml
@@ -16,6 +16,6 @@
   -->
 
 <?import javafx.scene.layout.*?>
-<AnchorPane fx:id="root" fx:controller="viewfx.view.support.fxml.FxmlViewLoaderTests$MissingFxmlViewAnnotation"
+<AnchorPane fx:id="root" fx:controller="io.bitsquare.viewfx.view.fxml.FxmlViewLoaderTests$MissingFxmlViewAnnotation"
             xmlns:fx="http://javafx.com/fxml">
 </AnchorPane>
diff --git a/gui/src/test/java/viewfx/view/support/fxml/FxmlViewLoaderTests$WellFormed.fxml b/gui/src/test/java/io/bitsquare/viewfx/view/fxml/FxmlViewLoaderTests$WellFormed.fxml
similarity index 88%
rename from gui/src/test/java/viewfx/view/support/fxml/FxmlViewLoaderTests$WellFormed.fxml
rename to gui/src/test/java/io/bitsquare/viewfx/view/fxml/FxmlViewLoaderTests$WellFormed.fxml
index 06a3949e56..4748300d8c 100644
--- a/gui/src/test/java/viewfx/view/support/fxml/FxmlViewLoaderTests$WellFormed.fxml
+++ b/gui/src/test/java/io/bitsquare/viewfx/view/fxml/FxmlViewLoaderTests$WellFormed.fxml
@@ -16,6 +16,6 @@
   -->
 
 <?import javafx.scene.layout.*?>
-<AnchorPane fx:id="root" fx:controller="viewfx.view.support.fxml.FxmlViewLoaderTests$WellFormed"
+<AnchorPane fx:id="root" fx:controller="io.bitsquare.viewfx.view.fxml.FxmlViewLoaderTests$WellFormed"
             xmlns:fx="http://javafx.com/fxml">
 </AnchorPane>
diff --git a/gui/src/test/java/viewfx/view/support/fxml/FxmlViewLoaderTests.java b/gui/src/test/java/io/bitsquare/viewfx/view/fxml/FxmlViewLoaderTests.java
similarity index 92%
rename from gui/src/test/java/viewfx/view/support/fxml/FxmlViewLoaderTests.java
rename to gui/src/test/java/io/bitsquare/viewfx/view/fxml/FxmlViewLoaderTests.java
index 620d7ba842..84c07f195d 100644
--- a/gui/src/test/java/viewfx/view/support/fxml/FxmlViewLoaderTests.java
+++ b/gui/src/test/java/io/bitsquare/viewfx/view/fxml/FxmlViewLoaderTests.java
@@ -15,16 +15,17 @@
  * along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
  */
 
-package viewfx.view.support.fxml;
+package io.bitsquare.viewfx.view.fxml;
+
+import io.bitsquare.viewfx.ViewfxException;
+import io.bitsquare.viewfx.view.FxmlView;
+import io.bitsquare.viewfx.view.View;
 
 import java.util.ResourceBundle;
 
-import viewfx.ViewfxException;
-import viewfx.view.FxmlView;
-import viewfx.view.View;
-import viewfx.view.ViewFactory;
-import viewfx.view.ViewLoader;
-import viewfx.view.support.AbstractView;
+import io.bitsquare.viewfx.view.ViewFactory;
+import io.bitsquare.viewfx.view.ViewLoader;
+import io.bitsquare.viewfx.view.AbstractView;
 
 import javafx.fxml.LoadException;
 
diff --git a/gui/src/test/java/viewfx/view/support/CachingViewLoaderTests.java b/gui/src/test/java/io/bitsquare/viewfx/view/support/CachingViewLoaderTests.java
similarity index 89%
rename from gui/src/test/java/viewfx/view/support/CachingViewLoaderTests.java
rename to gui/src/test/java/io/bitsquare/viewfx/view/support/CachingViewLoaderTests.java
index 2f3569e411..9a98544e39 100644
--- a/gui/src/test/java/viewfx/view/support/CachingViewLoaderTests.java
+++ b/gui/src/test/java/io/bitsquare/viewfx/view/support/CachingViewLoaderTests.java
@@ -15,9 +15,11 @@
  * along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
  */
 
-package viewfx.view.support;
+package io.bitsquare.viewfx.view.support;
 
-import viewfx.view.ViewLoader;
+import io.bitsquare.viewfx.view.AbstractView;
+import io.bitsquare.viewfx.view.CachingViewLoader;
+import io.bitsquare.viewfx.view.ViewLoader;
 
 import org.junit.Test;