commit eaee371d5a53f9c20f74e29cba3f31f6ef70e731
Author: Andreas Kohlbecker <a.kohlbecker@bgbm.org>
Date:   Tue Mar 21 15:25:32 2017 +0100

    ref #6169 renaming phycobank in packages to registration

diff --git a/src/main/java/eu/etaxonomy/cdm/mock/RegistrationService.java b/src/main/java/eu/etaxonomy/cdm/mock/RegistrationService.java
index 34ff0d5d..cacf13f2 100644
--- a/src/main/java/eu/etaxonomy/cdm/mock/RegistrationService.java
+++ b/src/main/java/eu/etaxonomy/cdm/mock/RegistrationService.java
@@ -26,7 +26,7 @@ import eu.etaxonomy.cdm.api.application.CdmRepository;
 import eu.etaxonomy.cdm.model.common.CdmBase;
 import eu.etaxonomy.cdm.model.name.Rank;
 import eu.etaxonomy.cdm.model.name.TaxonNameBase;
-import eu.etaxonomy.cdm.vaadin.presenter.phycobank.RegistrationDTO;
+import eu.etaxonomy.cdm.vaadin.presenter.registration.RegistrationDTO;
 
 /**
  * @author a.kohlbecker
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/component/phycobank/RegistrationItem.java b/src/main/java/eu/etaxonomy/cdm/vaadin/component/phycobank/RegistrationItem.java
deleted file mode 100644
index b384e295..00000000
--- a/src/main/java/eu/etaxonomy/cdm/vaadin/component/phycobank/RegistrationItem.java
+++ /dev/null
@@ -1,245 +0,0 @@
-/**
-* Copyright (C) 2017 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-package eu.etaxonomy.cdm.vaadin.component.phycobank;
-
-import org.apache.commons.lang.StringUtils;
-import org.joda.time.format.ISODateTimeFormat;
-
-import com.vaadin.server.ExternalResource;
-import com.vaadin.server.FontAwesome;
-import com.vaadin.shared.ui.label.ContentMode;
-import com.vaadin.ui.Alignment;
-import com.vaadin.ui.Button;
-import com.vaadin.ui.CssLayout;
-import com.vaadin.ui.GridLayout;
-import com.vaadin.ui.Label;
-import com.vaadin.ui.Link;
-import com.vaadin.ui.themes.ValoTheme;
-
-import eu.etaxonomy.cdm.vaadin.presenter.phycobank.RegistrationDTO;
-import eu.etaxonomy.cdm.vaadin.presenter.phycobank.RegistrationType;
-import eu.etaxonomy.cdm.vaadin.view.phycobank.RegistrationTypeConverter;
-import eu.etaxonomy.cdm.vaadin.view.phycobank.RegistrationWorkflowViewBean;
-import eu.etaxonomy.vaadin.mvp.AbstractView;
-import eu.etaxonomy.vaadin.ui.navigation.NavigationEvent;
-
-/**
- * @author a.kohlbecker
- * @since Mar 17, 2017
- *
- */
-public class RegistrationItem extends GridLayout {
-
-
-    private static final String LABEL_CAPTION_CREATED = "Created";
-
-    private static final String LABEL_CAPTION_PUBLISHED = "Published";
-
-    private static final int GRID_ROWS = 3;
-
-    private static final int GRID_COLS = 3;
-
-    private static final String STYLE_LABEL_NOWRAP = "label-nowrap";
-
-    private static final long serialVersionUID = -211003770452173644L;
-
-    private RegistrationDTO regDto;
-
-    private RegistrationTypeConverter regTypeConverter = new RegistrationTypeConverter();
-
-    private AbstractView<?> parentView;
-
-    // --------------------------------------------------
-    private Label typeStateLabel = new Label();
-    private Link identifierLink = new Link();
-    private Label citationSummaryLabel = new Label();
-    private Button blockedByButton = new Button(FontAwesome.WARNING);
-    private Button messageButton = new Button(FontAwesome.COMMENT);
-    private Button openButton = new Button(FontAwesome.COGS);
-    private Label createdLabel = new Label();
-    private Label publishedLabel = new Label();
-    // --------------------------------------------------
-
-    /**
-     *
-     */
-    public RegistrationItem(RegistrationDTO item, AbstractView<?> parentView) {
-        super(GRID_COLS, GRID_ROWS);
-        init();
-        setItem(item, parentView);
-    }
-
-    public void init() {
-
-        setWidth(100, Unit.PERCENTAGE);
-        addStyleName("registration-item");
-
-        typeStateLabel.setStyleName(STYLE_LABEL_NOWRAP);
-        addComponent(typeStateLabel, 0, 0);
-        setComponentAlignment(typeStateLabel, Alignment.TOP_LEFT);
-
-        addComponent(identifierLink, 1, 0);
-        setComponentAlignment(identifierLink, Alignment.TOP_CENTER);
-        setColumnExpandRatio(1, 1.0f);
-
-        CssLayout buttonGroup = new CssLayout(blockedByButton, messageButton, openButton);
-        blockedByButton.setStyleName(ValoTheme.BUTTON_TINY);
-        blockedByButton.setEnabled(false);
-        messageButton.setStyleName(ValoTheme.BUTTON_TINY);
-        messageButton.setEnabled(false);
-        openButton.setStyleName(ValoTheme.BUTTON_TINY);
-        openButton.addStyleName(ValoTheme.BUTTON_PRIMARY);
-        openButton.addClickListener(e -> parentView.getEventBus().publishEvent(new NavigationEvent(
-                RegistrationWorkflowViewBean.NAME,
-                RegistrationWorkflowViewBean.ACTION_EDIT,
-                regDto.getSpecificIdentifier().toString()
-                )));
-        buttonGroup.setStyleName(ValoTheme.LAYOUT_COMPONENT_GROUP);
-        addComponent(buttonGroup, 2, 0);
-        setComponentAlignment(buttonGroup, Alignment.TOP_RIGHT);
-
-        citationSummaryLabel.setContentMode(ContentMode.HTML);
-        addComponent(citationSummaryLabel, 0, 1, 1, 2);
-
-        createdLabel.setStyleName(STYLE_LABEL_NOWRAP);
-        createdLabel.setContentMode(ContentMode.HTML);
-        createdLabel.setWidthUndefined();
-        addComponent(createdLabel, 2, 1);
-        setComponentAlignment(createdLabel, Alignment.BOTTOM_RIGHT);
-
-        publishedLabel.setStyleName(STYLE_LABEL_NOWRAP);
-        publishedLabel.setContentMode(ContentMode.HTML);
-        publishedLabel.setWidthUndefined();
-        addComponent(publishedLabel, 2, 2);
-        setComponentAlignment(publishedLabel, Alignment.BOTTOM_RIGHT);
-
-    }
-
-    public void setItem(RegistrationDTO item, AbstractView<?> parentView){
-        regDto = item;
-        this.parentView = parentView;
-        updateUI();
-    }
-
-
-    /**
-     *
-     */
-    private void updateUI() {
-        updateTypeStateLabel();
-        getCitationSummaryLabel().setValue(regDto.getCitationString() + "</br>" + regDto.getSummary());
-        updateIdentifierLink();
-        getOpenButton().addClickListener(e -> parentView.getEventBus().publishEvent(new NavigationEvent(
-                RegistrationWorkflowViewBean.NAME,
-                RegistrationWorkflowViewBean.ACTION_EDIT,
-                regDto.getSpecificIdentifier().toString()
-                )));
-        updateDateLabels();
-    }
-
-
-    /**
-     *
-     */
-    private void updateTypeStateLabel() {
-
-        FontAwesome icon;
-        if(regDto.getRegistrationType().equals(RegistrationType.NAME)) {
-            icon = FontAwesome.TAG;
-        } else if(regDto.getRegistrationType().equals(RegistrationType.TYPIFICATION)) {
-            icon = FontAwesome.TAGS;
-        } else {
-            icon = FontAwesome.WARNING;
-        }
-        typeStateLabel.setContentMode(ContentMode.HTML);
-        typeStateLabel.setValue(icon.getHtml() + "&nbsp;" + StringUtils.capitalize((regDto.getStatus().name().toLowerCase())));
-        typeStateLabel.addStyleName("status-" + regDto.getStatus().name());
-    }
-
-    /**
-     *
-     */
-    private void updateIdentifierLink() {
-        getIdentifierLink().setResource(new ExternalResource(regDto.getRegistrationId()));
-        //TODO make responsive and use specificIdetifier in case the space gets too narrow
-        getIdentifierLink().setCaption(regDto.getRegistrationId());
-    }
-
-    /**
-     *
-     */
-    private void updateDateLabels() {
-        getCreatedLabel().setValue("<span class=\"caption\">" + LABEL_CAPTION_CREATED + "</span>&nbsp;" + regDto.getCreated().toString(ISODateTimeFormat.yearMonthDay()));
-        if(regDto.getRegistrationDate() != null){
-            getPublishedLabel().setValue("<span class=\"caption\">" + LABEL_CAPTION_PUBLISHED + "</span>&nbsp;" + regDto.getRegistrationDate().toString(ISODateTimeFormat.yearMonthDay()));
-        } else {
-            getPublishedLabel().setVisible(false);
-        }
-    }
-
-    /* ====== RegistrationItemDesign Getters ====== */
-    /**
-     * @return the typeStateLabel
-     */
-    public Label getTypeStateLabel() {
-        return typeStateLabel;
-    }
-
-    /**
-     * @return the identifierLink
-     */
-    public Link getIdentifierLink() {
-        return identifierLink;
-    }
-
-    /**
-     * @return the citationSummaryLabel
-     */
-    public Label getCitationSummaryLabel() {
-        return citationSummaryLabel;
-    }
-
-    /**
-     * @return the blockedByButton
-     */
-    public Button getBlockedByButton() {
-        return blockedByButton;
-    }
-
-    /**
-     * @return the messageButton
-     */
-    public Button getMessageButton() {
-        return messageButton;
-    }
-
-    /**
-     * @return the openButton
-     */
-    public Button getOpenButton() {
-        return openButton;
-    }
-
-    /**
-     * @return the createdLabel
-     */
-    public Label getCreatedLabel() {
-        return createdLabel;
-    }
-
-    /**
-     * @return the publishedLabel
-     */
-    public Label getPublishedLabel() {
-        return publishedLabel;
-    }
-
-   /* --------------------------------------- */
-
-}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/component/phycobank/RegistrationWorkflowComponent.java b/src/main/java/eu/etaxonomy/cdm/vaadin/component/phycobank/RegistrationWorkflowComponent.java
deleted file mode 100644
index dd071335..00000000
--- a/src/main/java/eu/etaxonomy/cdm/vaadin/component/phycobank/RegistrationWorkflowComponent.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
-* Copyright (C) 2017 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-package eu.etaxonomy.cdm.vaadin.component.phycobank;
-
-import com.vaadin.ui.CssLayout;
-import com.vaadin.ui.Label;
-
-import eu.etaxonomy.cdm.vaadin.design.phycobank.RegistrationWorkflowDesign;
-
-/**
- * @author a.kohlbecker
- * @since Mar 3, 2017
- *
- */
-public class RegistrationWorkflowComponent extends RegistrationWorkflowDesign {
-
-    private static final long serialVersionUID = 7196791015737342650L;
-
-    /**
-     * @return the title
-     */
-    public Label getTitle() {
-        return title;
-    }
-
-    /**
-     * @return the workflow
-     */
-    public CssLayout getWorkflow() {
-        return workflow;
-    }
-
-}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/component/phycobank/WorkflowItem.java b/src/main/java/eu/etaxonomy/cdm/vaadin/component/phycobank/WorkflowItem.java
deleted file mode 100644
index 98af1919..00000000
--- a/src/main/java/eu/etaxonomy/cdm/vaadin/component/phycobank/WorkflowItem.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
-* Copyright (C) 2017 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-package eu.etaxonomy.cdm.vaadin.component.phycobank;
-
-import com.vaadin.ui.Button.ClickListener;
-
-import eu.etaxonomy.cdm.vaadin.design.phycobank.WorkflowItemDesign;
-
-/**
- * @author a.kohlbecker
- * @since Mar 10, 2017
- *
- */
-public class WorkflowItem extends WorkflowItemDesign {
-
-    private static final long serialVersionUID = -6825656185698773467L;
-
-    /**
-     *
-     */
-    public WorkflowItem(int stepIndex, String caption, ClickListener listener) {
-        this.stepIndex.setCaption(Integer.toString(stepIndex));
-        this.caption.setValue(caption);
-        if(listener != null){
-            this.stepIndex.addClickListener(listener);
-        }
-    }
-
-}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/component/phycobank/WorkflowSteps.java b/src/main/java/eu/etaxonomy/cdm/vaadin/component/phycobank/WorkflowSteps.java
deleted file mode 100644
index 65b8862d..00000000
--- a/src/main/java/eu/etaxonomy/cdm/vaadin/component/phycobank/WorkflowSteps.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
-* Copyright (C) 2017 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-package eu.etaxonomy.cdm.vaadin.component.phycobank;
-
-import com.vaadin.ui.Button.ClickListener;
-
-import eu.etaxonomy.cdm.vaadin.design.phycobank.WorkflowStepsDesign;
-
-/**
- * @author a.kohlbecker
- * @since Mar 10, 2017
- *
- */
-public class WorkflowSteps extends WorkflowStepsDesign {
-
-    /**
-     *
-     */
-    public WorkflowSteps() {
-        // TODO Auto-generated constructor stub
-    }
-
-    public void appendWorkflowItem(WorkflowItem item){
-        this.steps.addComponent(item);
-    }
-
-    public void appendNewWorkflowItem(int stepIndex, String caption, ClickListener listener){
-        this.steps.addComponent(new WorkflowItem(stepIndex, caption, listener));
-    }
-
-}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/component/registration/RegistrationItem.java b/src/main/java/eu/etaxonomy/cdm/vaadin/component/registration/RegistrationItem.java
new file mode 100644
index 00000000..11ee2eb5
--- /dev/null
+++ b/src/main/java/eu/etaxonomy/cdm/vaadin/component/registration/RegistrationItem.java
@@ -0,0 +1,245 @@
+/**
+* Copyright (C) 2017 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.cdm.vaadin.component.registration;
+
+import org.apache.commons.lang.StringUtils;
+import org.joda.time.format.ISODateTimeFormat;
+
+import com.vaadin.server.ExternalResource;
+import com.vaadin.server.FontAwesome;
+import com.vaadin.shared.ui.label.ContentMode;
+import com.vaadin.ui.Alignment;
+import com.vaadin.ui.Button;
+import com.vaadin.ui.CssLayout;
+import com.vaadin.ui.GridLayout;
+import com.vaadin.ui.Label;
+import com.vaadin.ui.Link;
+import com.vaadin.ui.themes.ValoTheme;
+
+import eu.etaxonomy.cdm.vaadin.presenter.registration.RegistrationDTO;
+import eu.etaxonomy.cdm.vaadin.presenter.registration.RegistrationType;
+import eu.etaxonomy.cdm.vaadin.view.registration.RegistrationTypeConverter;
+import eu.etaxonomy.cdm.vaadin.view.registration.RegistrationWorkflowViewBean;
+import eu.etaxonomy.vaadin.mvp.AbstractView;
+import eu.etaxonomy.vaadin.ui.navigation.NavigationEvent;
+
+/**
+ * @author a.kohlbecker
+ * @since Mar 17, 2017
+ *
+ */
+public class RegistrationItem extends GridLayout {
+
+
+    private static final String LABEL_CAPTION_CREATED = "Created";
+
+    private static final String LABEL_CAPTION_PUBLISHED = "Published";
+
+    private static final int GRID_ROWS = 3;
+
+    private static final int GRID_COLS = 3;
+
+    private static final String STYLE_LABEL_NOWRAP = "label-nowrap";
+
+    private static final long serialVersionUID = -211003770452173644L;
+
+    private RegistrationDTO regDto;
+
+    private RegistrationTypeConverter regTypeConverter = new RegistrationTypeConverter();
+
+    private AbstractView<?> parentView;
+
+    // --------------------------------------------------
+    private Label typeStateLabel = new Label();
+    private Link identifierLink = new Link();
+    private Label citationSummaryLabel = new Label();
+    private Button blockedByButton = new Button(FontAwesome.WARNING);
+    private Button messageButton = new Button(FontAwesome.COMMENT);
+    private Button openButton = new Button(FontAwesome.COGS);
+    private Label createdLabel = new Label();
+    private Label publishedLabel = new Label();
+    // --------------------------------------------------
+
+    /**
+     *
+     */
+    public RegistrationItem(RegistrationDTO item, AbstractView<?> parentView) {
+        super(GRID_COLS, GRID_ROWS);
+        init();
+        setItem(item, parentView);
+    }
+
+    public void init() {
+
+        setWidth(100, Unit.PERCENTAGE);
+        addStyleName("registration-item");
+
+        typeStateLabel.setStyleName(STYLE_LABEL_NOWRAP);
+        addComponent(typeStateLabel, 0, 0);
+        setComponentAlignment(typeStateLabel, Alignment.TOP_LEFT);
+
+        addComponent(identifierLink, 1, 0);
+        setComponentAlignment(identifierLink, Alignment.TOP_CENTER);
+        setColumnExpandRatio(1, 1.0f);
+
+        CssLayout buttonGroup = new CssLayout(blockedByButton, messageButton, openButton);
+        blockedByButton.setStyleName(ValoTheme.BUTTON_TINY);
+        blockedByButton.setEnabled(false);
+        messageButton.setStyleName(ValoTheme.BUTTON_TINY);
+        messageButton.setEnabled(false);
+        openButton.setStyleName(ValoTheme.BUTTON_TINY);
+        openButton.addStyleName(ValoTheme.BUTTON_PRIMARY);
+        openButton.addClickListener(e -> parentView.getEventBus().publishEvent(new NavigationEvent(
+                RegistrationWorkflowViewBean.NAME,
+                RegistrationWorkflowViewBean.ACTION_EDIT,
+                regDto.getSpecificIdentifier().toString()
+                )));
+        buttonGroup.setStyleName(ValoTheme.LAYOUT_COMPONENT_GROUP);
+        addComponent(buttonGroup, 2, 0);
+        setComponentAlignment(buttonGroup, Alignment.TOP_RIGHT);
+
+        citationSummaryLabel.setContentMode(ContentMode.HTML);
+        addComponent(citationSummaryLabel, 0, 1, 1, 2);
+
+        createdLabel.setStyleName(STYLE_LABEL_NOWRAP);
+        createdLabel.setContentMode(ContentMode.HTML);
+        createdLabel.setWidthUndefined();
+        addComponent(createdLabel, 2, 1);
+        setComponentAlignment(createdLabel, Alignment.BOTTOM_RIGHT);
+
+        publishedLabel.setStyleName(STYLE_LABEL_NOWRAP);
+        publishedLabel.setContentMode(ContentMode.HTML);
+        publishedLabel.setWidthUndefined();
+        addComponent(publishedLabel, 2, 2);
+        setComponentAlignment(publishedLabel, Alignment.BOTTOM_RIGHT);
+
+    }
+
+    public void setItem(RegistrationDTO item, AbstractView<?> parentView){
+        regDto = item;
+        this.parentView = parentView;
+        updateUI();
+    }
+
+
+    /**
+     *
+     */
+    private void updateUI() {
+        updateTypeStateLabel();
+        getCitationSummaryLabel().setValue(regDto.getCitationString() + "</br>" + regDto.getSummary());
+        updateIdentifierLink();
+        getOpenButton().addClickListener(e -> parentView.getEventBus().publishEvent(new NavigationEvent(
+                RegistrationWorkflowViewBean.NAME,
+                RegistrationWorkflowViewBean.ACTION_EDIT,
+                regDto.getSpecificIdentifier().toString()
+                )));
+        updateDateLabels();
+    }
+
+
+    /**
+     *
+     */
+    private void updateTypeStateLabel() {
+
+        FontAwesome icon;
+        if(regDto.getRegistrationType().equals(RegistrationType.NAME)) {
+            icon = FontAwesome.TAG;
+        } else if(regDto.getRegistrationType().equals(RegistrationType.TYPIFICATION)) {
+            icon = FontAwesome.TAGS;
+        } else {
+            icon = FontAwesome.WARNING;
+        }
+        typeStateLabel.setContentMode(ContentMode.HTML);
+        typeStateLabel.setValue(icon.getHtml() + "&nbsp;" + StringUtils.capitalize((regDto.getStatus().name().toLowerCase())));
+        typeStateLabel.addStyleName("status-" + regDto.getStatus().name());
+    }
+
+    /**
+     *
+     */
+    private void updateIdentifierLink() {
+        getIdentifierLink().setResource(new ExternalResource(regDto.getRegistrationId()));
+        //TODO make responsive and use specificIdetifier in case the space gets too narrow
+        getIdentifierLink().setCaption(regDto.getRegistrationId());
+    }
+
+    /**
+     *
+     */
+    private void updateDateLabels() {
+        getCreatedLabel().setValue("<span class=\"caption\">" + LABEL_CAPTION_CREATED + "</span>&nbsp;" + regDto.getCreated().toString(ISODateTimeFormat.yearMonthDay()));
+        if(regDto.getRegistrationDate() != null){
+            getPublishedLabel().setValue("<span class=\"caption\">" + LABEL_CAPTION_PUBLISHED + "</span>&nbsp;" + regDto.getRegistrationDate().toString(ISODateTimeFormat.yearMonthDay()));
+        } else {
+            getPublishedLabel().setVisible(false);
+        }
+    }
+
+    /* ====== RegistrationItemDesign Getters ====== */
+    /**
+     * @return the typeStateLabel
+     */
+    public Label getTypeStateLabel() {
+        return typeStateLabel;
+    }
+
+    /**
+     * @return the identifierLink
+     */
+    public Link getIdentifierLink() {
+        return identifierLink;
+    }
+
+    /**
+     * @return the citationSummaryLabel
+     */
+    public Label getCitationSummaryLabel() {
+        return citationSummaryLabel;
+    }
+
+    /**
+     * @return the blockedByButton
+     */
+    public Button getBlockedByButton() {
+        return blockedByButton;
+    }
+
+    /**
+     * @return the messageButton
+     */
+    public Button getMessageButton() {
+        return messageButton;
+    }
+
+    /**
+     * @return the openButton
+     */
+    public Button getOpenButton() {
+        return openButton;
+    }
+
+    /**
+     * @return the createdLabel
+     */
+    public Label getCreatedLabel() {
+        return createdLabel;
+    }
+
+    /**
+     * @return the publishedLabel
+     */
+    public Label getPublishedLabel() {
+        return publishedLabel;
+    }
+
+   /* --------------------------------------- */
+
+}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/component/registration/RegistrationWorkflowComponent.java b/src/main/java/eu/etaxonomy/cdm/vaadin/component/registration/RegistrationWorkflowComponent.java
new file mode 100644
index 00000000..5ed6f3f5
--- /dev/null
+++ b/src/main/java/eu/etaxonomy/cdm/vaadin/component/registration/RegistrationWorkflowComponent.java
@@ -0,0 +1,39 @@
+/**
+* Copyright (C) 2017 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.cdm.vaadin.component.registration;
+
+import com.vaadin.ui.CssLayout;
+import com.vaadin.ui.Label;
+
+import eu.etaxonomy.cdm.vaadin.design.registration.RegistrationWorkflowDesign;
+
+/**
+ * @author a.kohlbecker
+ * @since Mar 3, 2017
+ *
+ */
+public class RegistrationWorkflowComponent extends RegistrationWorkflowDesign {
+
+    private static final long serialVersionUID = 7196791015737342650L;
+
+    /**
+     * @return the title
+     */
+    public Label getTitle() {
+        return title;
+    }
+
+    /**
+     * @return the workflow
+     */
+    public CssLayout getWorkflow() {
+        return workflow;
+    }
+
+}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/component/registration/WorkflowItem.java b/src/main/java/eu/etaxonomy/cdm/vaadin/component/registration/WorkflowItem.java
new file mode 100644
index 00000000..4b397119
--- /dev/null
+++ b/src/main/java/eu/etaxonomy/cdm/vaadin/component/registration/WorkflowItem.java
@@ -0,0 +1,35 @@
+/**
+* Copyright (C) 2017 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.cdm.vaadin.component.registration;
+
+import com.vaadin.ui.Button.ClickListener;
+
+import eu.etaxonomy.cdm.vaadin.design.registration.WorkflowItemDesign;
+
+/**
+ * @author a.kohlbecker
+ * @since Mar 10, 2017
+ *
+ */
+public class WorkflowItem extends WorkflowItemDesign {
+
+    private static final long serialVersionUID = -6825656185698773467L;
+
+    /**
+     *
+     */
+    public WorkflowItem(int stepIndex, String caption, ClickListener listener) {
+        this.stepIndex.setCaption(Integer.toString(stepIndex));
+        this.caption.setValue(caption);
+        if(listener != null){
+            this.stepIndex.addClickListener(listener);
+        }
+    }
+
+}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/component/registration/WorkflowSteps.java b/src/main/java/eu/etaxonomy/cdm/vaadin/component/registration/WorkflowSteps.java
new file mode 100644
index 00000000..9e39a877
--- /dev/null
+++ b/src/main/java/eu/etaxonomy/cdm/vaadin/component/registration/WorkflowSteps.java
@@ -0,0 +1,37 @@
+/**
+* Copyright (C) 2017 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.cdm.vaadin.component.registration;
+
+import com.vaadin.ui.Button.ClickListener;
+
+import eu.etaxonomy.cdm.vaadin.design.registration.WorkflowStepsDesign;
+
+/**
+ * @author a.kohlbecker
+ * @since Mar 10, 2017
+ *
+ */
+public class WorkflowSteps extends WorkflowStepsDesign {
+
+    /**
+     *
+     */
+    public WorkflowSteps() {
+        // TODO Auto-generated constructor stub
+    }
+
+    public void appendWorkflowItem(WorkflowItem item){
+        this.steps.addComponent(item);
+    }
+
+    public void appendNewWorkflowItem(int stepIndex, String caption, ClickListener listener){
+        this.steps.addComponent(new WorkflowItem(stepIndex, caption, listener));
+    }
+
+}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/design/phycobank/DashBoardDesign.java b/src/main/java/eu/etaxonomy/cdm/vaadin/design/phycobank/DashBoardDesign.java
deleted file mode 100644
index 361f0620..00000000
--- a/src/main/java/eu/etaxonomy/cdm/vaadin/design/phycobank/DashBoardDesign.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package eu.etaxonomy.cdm.vaadin.design.phycobank;
-
-import com.vaadin.annotations.AutoGenerated;
-import com.vaadin.annotations.DesignRoot;
-import com.vaadin.ui.Button;
-import com.vaadin.ui.CssLayout;
-import com.vaadin.ui.VerticalLayout;
-import com.vaadin.ui.declarative.Design;
-
-/**
- * !! DO NOT EDIT THIS FILE !!
- *
- * This class is generated by Vaadin Designer and will be overwritten.
- *
- * Please make a subclass with logic and additional interfaces as needed,
- * e.g class LoginView extends LoginDesign implements View { }
- */
-@DesignRoot
-@AutoGenerated
-@SuppressWarnings("serial")
-public class DashBoardDesign extends VerticalLayout {
-    protected CssLayout dashboard;
-    protected Button buttonNew;
-    protected Button buttonContinue;
-    protected Button buttonList;
-
-    public DashBoardDesign() {
-        Design.read(this);
-    }
-}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/design/phycobank/RegistrationItemDesign.java b/src/main/java/eu/etaxonomy/cdm/vaadin/design/phycobank/RegistrationItemDesign.java
deleted file mode 100644
index 05a8fae4..00000000
--- a/src/main/java/eu/etaxonomy/cdm/vaadin/design/phycobank/RegistrationItemDesign.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package eu.etaxonomy.cdm.vaadin.design.phycobank;
-
-import com.vaadin.annotations.AutoGenerated;
-import com.vaadin.annotations.DesignRoot;
-import com.vaadin.ui.Button;
-import com.vaadin.ui.HorizontalLayout;
-import com.vaadin.ui.Label;
-import com.vaadin.ui.Link;
-import com.vaadin.ui.declarative.Design;
-
-/**
- * !! DO NOT EDIT THIS FILE !!
- *
- * This class is generated by Vaadin Designer and will be overwritten.
- *
- * Please make a subclass with logic and additional interfaces as needed,
- * e.g class LoginView extends LoginDesign implements View { }
- */
-@DesignRoot
-@AutoGenerated
-@SuppressWarnings("serial")
-public class RegistrationItemDesign extends HorizontalLayout {
-    protected Label typeStateLabel;
-    protected Link identifierLink;
-    protected Label citationLabel;
-    protected Label summaryLabel;
-    protected Button blockedByButton;
-    protected Button messageButton;
-    protected Button openButton;
-    protected Label createdLabel;
-    protected Label publishedLabel;
-
-    public RegistrationItemDesign() {
-        Design.read(this);
-    }
-}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/design/phycobank/RegistrationItemGridDesign.java b/src/main/java/eu/etaxonomy/cdm/vaadin/design/phycobank/RegistrationItemGridDesign.java
deleted file mode 100644
index 245d6df4..00000000
--- a/src/main/java/eu/etaxonomy/cdm/vaadin/design/phycobank/RegistrationItemGridDesign.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package eu.etaxonomy.cdm.vaadin.design.phycobank;
-
-import com.vaadin.annotations.AutoGenerated;
-import com.vaadin.annotations.DesignRoot;
-import com.vaadin.ui.Button;
-import com.vaadin.ui.GridLayout;
-import com.vaadin.ui.Label;
-import com.vaadin.ui.Link;
-import com.vaadin.ui.declarative.Design;
-
-/** 
- * !! DO NOT EDIT THIS FILE !!
- * 
- * This class is generated by Vaadin Designer and will be overwritten.
- * 
- * Please make a subclass with logic and additional interfaces as needed,
- * e.g class LoginView extends LoginDesign implements View { }
- */
-@DesignRoot
-@AutoGenerated
-@SuppressWarnings("serial")
-public class RegistrationItemGridDesign extends GridLayout {
-    protected Label typeStateLabel;
-    protected Link identifierLink;
-    protected Button blockedByButton;
-    protected Button messageButton;
-    protected Button openButton;
-    protected Label citationLabel;
-
-    public RegistrationItemGridDesign() {
-        Design.read(this);
-    }
-}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/design/phycobank/RegistrationWorkflowDesign.java b/src/main/java/eu/etaxonomy/cdm/vaadin/design/phycobank/RegistrationWorkflowDesign.java
deleted file mode 100644
index 4c8769d0..00000000
--- a/src/main/java/eu/etaxonomy/cdm/vaadin/design/phycobank/RegistrationWorkflowDesign.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package eu.etaxonomy.cdm.vaadin.design.phycobank;
-
-import com.vaadin.annotations.AutoGenerated;
-import com.vaadin.annotations.DesignRoot;
-import com.vaadin.ui.CssLayout;
-import com.vaadin.ui.Label;
-import com.vaadin.ui.VerticalLayout;
-import com.vaadin.ui.declarative.Design;
-
-/** 
- * !! DO NOT EDIT THIS FILE !!
- * 
- * This class is generated by Vaadin Designer and will be overwritten.
- * 
- * Please make a subclass with logic and additional interfaces as needed,
- * e.g class LoginView extends LoginDesign implements View { }
- */
-@DesignRoot
-@AutoGenerated
-@SuppressWarnings("serial")
-public class RegistrationWorkflowDesign extends VerticalLayout {
-    protected Label title;
-    protected CssLayout workflow;
-
-    public RegistrationWorkflowDesign() {
-        Design.read(this);
-    }
-}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/design/phycobank/StartRegistrationDesign.java b/src/main/java/eu/etaxonomy/cdm/vaadin/design/phycobank/StartRegistrationDesign.java
deleted file mode 100644
index 3deabca1..00000000
--- a/src/main/java/eu/etaxonomy/cdm/vaadin/design/phycobank/StartRegistrationDesign.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package eu.etaxonomy.cdm.vaadin.design.phycobank;
-
-import com.vaadin.annotations.AutoGenerated;
-import com.vaadin.annotations.DesignRoot;
-import com.vaadin.ui.Button;
-import com.vaadin.ui.CssLayout;
-import com.vaadin.ui.VerticalLayout;
-import com.vaadin.ui.declarative.Design;
-
-/** 
- * !! DO NOT EDIT THIS FILE !!
- * 
- * This class is generated by Vaadin Designer and will be overwritten.
- * 
- * Please make a subclass with logic and additional interfaces as needed,
- * e.g class LoginView extends LoginDesign implements View { }
- */
-@DesignRoot
-@AutoGenerated
-@SuppressWarnings("serial")
-public class StartRegistrationDesign extends VerticalLayout {
-    protected CssLayout dashboard;
-    protected Button buttonName;
-    protected Button buttonTypification;
-
-    public StartRegistrationDesign() {
-        Design.read(this);
-    }
-}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/design/phycobank/WorkflowItemDesign.java b/src/main/java/eu/etaxonomy/cdm/vaadin/design/phycobank/WorkflowItemDesign.java
deleted file mode 100644
index 3c44a71b..00000000
--- a/src/main/java/eu/etaxonomy/cdm/vaadin/design/phycobank/WorkflowItemDesign.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package eu.etaxonomy.cdm.vaadin.design.phycobank;
-
-import com.vaadin.annotations.AutoGenerated;
-import com.vaadin.annotations.DesignRoot;
-import com.vaadin.ui.Button;
-import com.vaadin.ui.CssLayout;
-import com.vaadin.ui.Label;
-import com.vaadin.ui.declarative.Design;
-
-/**
- * !! DO NOT EDIT THIS FILE !!
- *
- * This class is generated by Vaadin Designer and will be overwritten.
- *
- * Please make a subclass with logic and additional interfaces as needed,
- * e.g class LoginView extends LoginDesign implements View { }
- */
-@DesignRoot
-@AutoGenerated
-@SuppressWarnings("serial")
-public class WorkflowItemDesign extends CssLayout {
-    protected Button stepIndex;
-    protected Label caption;
-
-    public WorkflowItemDesign() {
-        Design.read(this);
-    }
-}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/design/phycobank/WorkflowStepsDesign.java b/src/main/java/eu/etaxonomy/cdm/vaadin/design/phycobank/WorkflowStepsDesign.java
deleted file mode 100644
index 9f73f24e..00000000
--- a/src/main/java/eu/etaxonomy/cdm/vaadin/design/phycobank/WorkflowStepsDesign.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package eu.etaxonomy.cdm.vaadin.design.phycobank;
-
-import com.vaadin.annotations.AutoGenerated;
-import com.vaadin.annotations.DesignRoot;
-import com.vaadin.ui.CssLayout;
-import com.vaadin.ui.declarative.Design;
-
-/**
- * !! DO NOT EDIT THIS FILE !!
- *
- * This class is generated by Vaadin Designer and will be overwritten.
- *
- * Please make a subclass with logic and additional interfaces as needed,
- * e.g class LoginView extends LoginDesign implements View { }
- */
-@DesignRoot
-@AutoGenerated
-@SuppressWarnings("serial")
-public class WorkflowStepsDesign extends CssLayout {
-    protected CssLayout steps;
-
-    public WorkflowStepsDesign() {
-        Design.read(this);
-    }
-}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/design/registration/DashBoardDesign.java b/src/main/java/eu/etaxonomy/cdm/vaadin/design/registration/DashBoardDesign.java
new file mode 100644
index 00000000..dc8bf233
--- /dev/null
+++ b/src/main/java/eu/etaxonomy/cdm/vaadin/design/registration/DashBoardDesign.java
@@ -0,0 +1,30 @@
+package eu.etaxonomy.cdm.vaadin.design.registration;
+
+import com.vaadin.annotations.AutoGenerated;
+import com.vaadin.annotations.DesignRoot;
+import com.vaadin.ui.Button;
+import com.vaadin.ui.CssLayout;
+import com.vaadin.ui.VerticalLayout;
+import com.vaadin.ui.declarative.Design;
+
+/**
+ * !! DO NOT EDIT THIS FILE !!
+ *
+ * This class is generated by Vaadin Designer and will be overwritten.
+ *
+ * Please make a subclass with logic and additional interfaces as needed,
+ * e.g class LoginView extends LoginDesign implements View { }
+ */
+@DesignRoot
+@AutoGenerated
+@SuppressWarnings("serial")
+public class DashBoardDesign extends VerticalLayout {
+    protected CssLayout dashboard;
+    protected Button buttonNew;
+    protected Button buttonContinue;
+    protected Button buttonList;
+
+    public DashBoardDesign() {
+        Design.read(this);
+    }
+}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/design/registration/RegistrationItemDesign.java b/src/main/java/eu/etaxonomy/cdm/vaadin/design/registration/RegistrationItemDesign.java
new file mode 100644
index 00000000..19ca9947
--- /dev/null
+++ b/src/main/java/eu/etaxonomy/cdm/vaadin/design/registration/RegistrationItemDesign.java
@@ -0,0 +1,36 @@
+package eu.etaxonomy.cdm.vaadin.design.registration;
+
+import com.vaadin.annotations.AutoGenerated;
+import com.vaadin.annotations.DesignRoot;
+import com.vaadin.ui.Button;
+import com.vaadin.ui.HorizontalLayout;
+import com.vaadin.ui.Label;
+import com.vaadin.ui.Link;
+import com.vaadin.ui.declarative.Design;
+
+/**
+ * !! DO NOT EDIT THIS FILE !!
+ *
+ * This class is generated by Vaadin Designer and will be overwritten.
+ *
+ * Please make a subclass with logic and additional interfaces as needed,
+ * e.g class LoginView extends LoginDesign implements View { }
+ */
+@DesignRoot
+@AutoGenerated
+@SuppressWarnings("serial")
+public class RegistrationItemDesign extends HorizontalLayout {
+    protected Label typeStateLabel;
+    protected Link identifierLink;
+    protected Label citationLabel;
+    protected Label summaryLabel;
+    protected Button blockedByButton;
+    protected Button messageButton;
+    protected Button openButton;
+    protected Label createdLabel;
+    protected Label publishedLabel;
+
+    public RegistrationItemDesign() {
+        Design.read(this);
+    }
+}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/design/registration/RegistrationItemGridDesign.java b/src/main/java/eu/etaxonomy/cdm/vaadin/design/registration/RegistrationItemGridDesign.java
new file mode 100644
index 00000000..1de2e3b8
--- /dev/null
+++ b/src/main/java/eu/etaxonomy/cdm/vaadin/design/registration/RegistrationItemGridDesign.java
@@ -0,0 +1,33 @@
+package eu.etaxonomy.cdm.vaadin.design.registration;
+
+import com.vaadin.annotations.AutoGenerated;
+import com.vaadin.annotations.DesignRoot;
+import com.vaadin.ui.Button;
+import com.vaadin.ui.GridLayout;
+import com.vaadin.ui.Label;
+import com.vaadin.ui.Link;
+import com.vaadin.ui.declarative.Design;
+
+/** 
+ * !! DO NOT EDIT THIS FILE !!
+ * 
+ * This class is generated by Vaadin Designer and will be overwritten.
+ * 
+ * Please make a subclass with logic and additional interfaces as needed,
+ * e.g class LoginView extends LoginDesign implements View { }
+ */
+@DesignRoot
+@AutoGenerated
+@SuppressWarnings("serial")
+public class RegistrationItemGridDesign extends GridLayout {
+    protected Label typeStateLabel;
+    protected Link identifierLink;
+    protected Button blockedByButton;
+    protected Button messageButton;
+    protected Button openButton;
+    protected Label citationLabel;
+
+    public RegistrationItemGridDesign() {
+        Design.read(this);
+    }
+}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/design/registration/RegistrationWorkflowDesign.java b/src/main/java/eu/etaxonomy/cdm/vaadin/design/registration/RegistrationWorkflowDesign.java
new file mode 100644
index 00000000..dfd0e3ad
--- /dev/null
+++ b/src/main/java/eu/etaxonomy/cdm/vaadin/design/registration/RegistrationWorkflowDesign.java
@@ -0,0 +1,28 @@
+package eu.etaxonomy.cdm.vaadin.design.registration;
+
+import com.vaadin.annotations.AutoGenerated;
+import com.vaadin.annotations.DesignRoot;
+import com.vaadin.ui.CssLayout;
+import com.vaadin.ui.Label;
+import com.vaadin.ui.VerticalLayout;
+import com.vaadin.ui.declarative.Design;
+
+/** 
+ * !! DO NOT EDIT THIS FILE !!
+ * 
+ * This class is generated by Vaadin Designer and will be overwritten.
+ * 
+ * Please make a subclass with logic and additional interfaces as needed,
+ * e.g class LoginView extends LoginDesign implements View { }
+ */
+@DesignRoot
+@AutoGenerated
+@SuppressWarnings("serial")
+public class RegistrationWorkflowDesign extends VerticalLayout {
+    protected Label title;
+    protected CssLayout workflow;
+
+    public RegistrationWorkflowDesign() {
+        Design.read(this);
+    }
+}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/design/registration/StartRegistrationDesign.java b/src/main/java/eu/etaxonomy/cdm/vaadin/design/registration/StartRegistrationDesign.java
new file mode 100644
index 00000000..b97f8edd
--- /dev/null
+++ b/src/main/java/eu/etaxonomy/cdm/vaadin/design/registration/StartRegistrationDesign.java
@@ -0,0 +1,29 @@
+package eu.etaxonomy.cdm.vaadin.design.registration;
+
+import com.vaadin.annotations.AutoGenerated;
+import com.vaadin.annotations.DesignRoot;
+import com.vaadin.ui.Button;
+import com.vaadin.ui.CssLayout;
+import com.vaadin.ui.VerticalLayout;
+import com.vaadin.ui.declarative.Design;
+
+/** 
+ * !! DO NOT EDIT THIS FILE !!
+ * 
+ * This class is generated by Vaadin Designer and will be overwritten.
+ * 
+ * Please make a subclass with logic and additional interfaces as needed,
+ * e.g class LoginView extends LoginDesign implements View { }
+ */
+@DesignRoot
+@AutoGenerated
+@SuppressWarnings("serial")
+public class StartRegistrationDesign extends VerticalLayout {
+    protected CssLayout dashboard;
+    protected Button buttonName;
+    protected Button buttonTypification;
+
+    public StartRegistrationDesign() {
+        Design.read(this);
+    }
+}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/design/registration/WorkflowItemDesign.java b/src/main/java/eu/etaxonomy/cdm/vaadin/design/registration/WorkflowItemDesign.java
new file mode 100644
index 00000000..cf8d674e
--- /dev/null
+++ b/src/main/java/eu/etaxonomy/cdm/vaadin/design/registration/WorkflowItemDesign.java
@@ -0,0 +1,28 @@
+package eu.etaxonomy.cdm.vaadin.design.registration;
+
+import com.vaadin.annotations.AutoGenerated;
+import com.vaadin.annotations.DesignRoot;
+import com.vaadin.ui.Button;
+import com.vaadin.ui.CssLayout;
+import com.vaadin.ui.Label;
+import com.vaadin.ui.declarative.Design;
+
+/**
+ * !! DO NOT EDIT THIS FILE !!
+ *
+ * This class is generated by Vaadin Designer and will be overwritten.
+ *
+ * Please make a subclass with logic and additional interfaces as needed,
+ * e.g class LoginView extends LoginDesign implements View { }
+ */
+@DesignRoot
+@AutoGenerated
+@SuppressWarnings("serial")
+public class WorkflowItemDesign extends CssLayout {
+    protected Button stepIndex;
+    protected Label caption;
+
+    public WorkflowItemDesign() {
+        Design.read(this);
+    }
+}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/design/registration/WorkflowStepsDesign.java b/src/main/java/eu/etaxonomy/cdm/vaadin/design/registration/WorkflowStepsDesign.java
new file mode 100644
index 00000000..2d211111
--- /dev/null
+++ b/src/main/java/eu/etaxonomy/cdm/vaadin/design/registration/WorkflowStepsDesign.java
@@ -0,0 +1,25 @@
+package eu.etaxonomy.cdm.vaadin.design.registration;
+
+import com.vaadin.annotations.AutoGenerated;
+import com.vaadin.annotations.DesignRoot;
+import com.vaadin.ui.CssLayout;
+import com.vaadin.ui.declarative.Design;
+
+/**
+ * !! DO NOT EDIT THIS FILE !!
+ *
+ * This class is generated by Vaadin Designer and will be overwritten.
+ *
+ * Please make a subclass with logic and additional interfaces as needed,
+ * e.g class LoginView extends LoginDesign implements View { }
+ */
+@DesignRoot
+@AutoGenerated
+@SuppressWarnings("serial")
+public class WorkflowStepsDesign extends CssLayout {
+    protected CssLayout steps;
+
+    public WorkflowStepsDesign() {
+        Design.read(this);
+    }
+}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/event/phycobank/RegistrationWorkflowEvent.java b/src/main/java/eu/etaxonomy/cdm/vaadin/event/phycobank/RegistrationWorkflowEvent.java
deleted file mode 100644
index 252b66b9..00000000
--- a/src/main/java/eu/etaxonomy/cdm/vaadin/event/phycobank/RegistrationWorkflowEvent.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/**
-* Copyright (C) 2017 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-package eu.etaxonomy.cdm.vaadin.event.phycobank;
-
-import eu.etaxonomy.cdm.vaadin.presenter.phycobank.RegistrationType;
-
-/**
- * @author a.kohlbecker
- * @since Mar 3, 2017
- *
- */
-public class RegistrationWorkflowEvent {
-
-    private RegistrationType type = null;
-    private Action action;
-    private Integer registrationID = null;
-
-    public RegistrationWorkflowEvent(int registrationID){
-        this.action = Action.open;
-        this.registrationID = registrationID;
-    }
-
-    public RegistrationWorkflowEvent(RegistrationType type){
-        this.type = type;
-        this.action = Action.start;
-    }
-
-    /**
-     * @return the type
-     */
-    public RegistrationType getType() {
-        return type;
-    }
-
-    /**
-     * @return the action
-     */
-    public Action getAction() {
-        return action;
-    }
-
-    /**
-     * @return the registrationID
-     */
-    public Integer getRegistrationID() {
-        return registrationID;
-    }
-
-    public boolean isStart() {
-        return action.equals(Action.start);
-    }
-
-
-    enum Action {
-        start, open;
-    }
-
-}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/event/registration/RegistrationWorkflowEvent.java b/src/main/java/eu/etaxonomy/cdm/vaadin/event/registration/RegistrationWorkflowEvent.java
new file mode 100644
index 00000000..ebe892d2
--- /dev/null
+++ b/src/main/java/eu/etaxonomy/cdm/vaadin/event/registration/RegistrationWorkflowEvent.java
@@ -0,0 +1,64 @@
+/**
+* Copyright (C) 2017 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.cdm.vaadin.event.registration;
+
+import eu.etaxonomy.cdm.vaadin.presenter.registration.RegistrationType;
+
+/**
+ * @author a.kohlbecker
+ * @since Mar 3, 2017
+ *
+ */
+public class RegistrationWorkflowEvent {
+
+    private RegistrationType type = null;
+    private Action action;
+    private Integer registrationID = null;
+
+    public RegistrationWorkflowEvent(int registrationID){
+        this.action = Action.open;
+        this.registrationID = registrationID;
+    }
+
+    public RegistrationWorkflowEvent(RegistrationType type){
+        this.type = type;
+        this.action = Action.start;
+    }
+
+    /**
+     * @return the type
+     */
+    public RegistrationType getType() {
+        return type;
+    }
+
+    /**
+     * @return the action
+     */
+    public Action getAction() {
+        return action;
+    }
+
+    /**
+     * @return the registrationID
+     */
+    public Integer getRegistrationID() {
+        return registrationID;
+    }
+
+    public boolean isStart() {
+        return action.equals(Action.start);
+    }
+
+
+    enum Action {
+        start, open;
+    }
+
+}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/presenter/phycobank/ListPresenter.java b/src/main/java/eu/etaxonomy/cdm/vaadin/presenter/phycobank/ListPresenter.java
deleted file mode 100644
index 6c2cf4fb..00000000
--- a/src/main/java/eu/etaxonomy/cdm/vaadin/presenter/phycobank/ListPresenter.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
-* Copyright (C) 2017 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-package eu.etaxonomy.cdm.vaadin.presenter.phycobank;
-
-import java.util.Collection;
-
-import org.springframework.beans.factory.annotation.Autowired;
-
-import com.vaadin.spring.annotation.SpringComponent;
-import com.vaadin.spring.annotation.ViewScope;
-
-import eu.etaxonomy.cdm.mock.RegistrationService;
-import eu.etaxonomy.cdm.vaadin.view.phycobank.ListView;
-import eu.etaxonomy.vaadin.mvp.AbstractPresenter;
-
-/**
- * @author a.kohlbecker
- * @since Mar 3, 2017
- *
- */
-@SpringComponent
-@ViewScope
-public class ListPresenter extends AbstractPresenter<ListView> {
-
-    @Autowired
-    private RegistrationService serviceMock;
-
-    @Override
-    public void onViewEnter() {
-        super.onViewEnter();
-        getView().populate(listRegistrations());
-    }
-
-    /**
-     * @return
-     */
-    private Collection<RegistrationDTO> listRegistrations() {
-        Collection<RegistrationDTO> dtos = serviceMock.listDTOs();
-        return dtos;
-    }
-
-}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/presenter/phycobank/RegistrationDTO.java b/src/main/java/eu/etaxonomy/cdm/vaadin/presenter/phycobank/RegistrationDTO.java
deleted file mode 100644
index 5fb32314..00000000
--- a/src/main/java/eu/etaxonomy/cdm/vaadin/presenter/phycobank/RegistrationDTO.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/**
-* Copyright (C) 2017 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-package eu.etaxonomy.cdm.vaadin.presenter.phycobank;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.joda.time.DateTime;
-
-import eu.etaxonomy.cdm.mock.Registration;
-import eu.etaxonomy.cdm.mock.RegistrationStatus;
-import eu.etaxonomy.cdm.model.name.TaxonNameBase;
-import eu.etaxonomy.cdm.model.reference.INomenclaturalReference;
-import eu.etaxonomy.cdm.model.reference.Reference;
-import eu.etaxonomy.cdm.vaadin.util.TypeDesignationConverter;
-
-public class RegistrationDTO{
-
-    private String summary = "";
-
-    private String citationString = "";
-
-    private int citationID;
-
-    private RegistrationType registrationType;
-
-    private Registration reg;
-
-    static int idAutoincrement = 100000;
-
-    private Set<Registration> blockedBy = new HashSet<>();
-
-    /**
-     * @param reg
-     * @param typifiedName should be provided in for Registrations for TypeDesignations
-     */
-    public RegistrationDTO(Registration reg, TaxonNameBase typifiedName) {
-
-         this.reg = reg;
-
-        registrationType = RegistrationType.from(reg);
-        if(registrationType.isName()){
-            summary = reg.getName().getTitleCache();
-            INomenclaturalReference citation = reg.getName().getNomenclaturalReference();
-            if(citation != null){
-                citationString = citation.generateTitle();
-                citationID = citation.getId();
-            }
-        } else if(registrationType.isTypification()){
-            summary = new TypeDesignationConverter(reg.getTypeDesignations(), typifiedName)
-                    .buildString().print();
-            if(!reg.getTypeDesignations().isEmpty()){
-                Reference citation = reg.getTypeDesignations().iterator().next().getCitation();
-                if(citation != null) {
-                    citationString = citation.generateTitle();
-                    citationID = citation.getId();
-                }
-            }
-        } else {
-            summary = "- INVALID REGISTRATION -";
-        }
-    }
-
-    /**
-     * @return the summary
-     */
-    public String getSummary() {
-        return summary;
-    }
-
-
-    /**
-     * @return the registrationType
-     */
-    public RegistrationType getRegistrationType() {
-        return registrationType;
-    }
-
-
-    /**
-     * @return the status
-     */
-    public RegistrationStatus getStatus() {
-        return reg.getStatus();
-    }
-
-
-    /**
-     * @return the registrationId
-     */
-    public String getRegistrationId() {
-        return reg.getIdentifier();
-    }
-
-
-    /**
-     * @return the specificIdentifier
-     */
-    public String getSpecificIdentifier() {
-        return reg.getSpecificIdentifier();
-    }
-
-    /**
-     * @return the registrationDate
-     */
-    public DateTime getRegistrationDate() {
-        return reg.getRegistrationDate();
-    }
-
-    /**
-     * @return the created
-     */
-    public DateTime getCreated() {
-        return reg.getCreated();
-    }
-
-    public String getCitation() {
-        return citationString;
-    }
-
-    /**
-     * @return the blockedBy
-     */
-    public Set<Registration> getBlockedBy() {
-        return blockedBy;
-    }
-
-    /**
-     * @return the citationString
-     */
-    public String getCitationString() {
-        return citationString;
-    }
-
-    /**
-     * @return the citationID
-     */
-    public int getCitationID() {
-        return citationID;
-    }
-
-}
\ No newline at end of file
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/presenter/phycobank/RegistrationType.java b/src/main/java/eu/etaxonomy/cdm/vaadin/presenter/phycobank/RegistrationType.java
deleted file mode 100644
index 90b444c4..00000000
--- a/src/main/java/eu/etaxonomy/cdm/vaadin/presenter/phycobank/RegistrationType.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
-* Copyright (C) 2017 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-package eu.etaxonomy.cdm.vaadin.presenter.phycobank;
-
-import eu.etaxonomy.cdm.mock.Registration;
-
-/**
- * @author a.kohlbecker
- * @since Mar 3, 2017
- *
- */
-public enum RegistrationType {
-
-    NAME, TYPIFICATION, INVALID;
-
-    /**
-     * @param reg
-     * @return
-     */
-    public static RegistrationType from(Registration reg) {
-        if(reg.getName() != null){
-            return NAME;
-        }
-        if(reg.getTypeDesignations().size() > 0){
-            return TYPIFICATION;
-        }
-        return INVALID;
-    }
-
-    /**
-     * @return
-     */
-    public boolean isName() {
-        return NAME.equals(this);
-
-  }
-    /**
-     * @return
-     */
-    public boolean isTypification() {
-        return TYPIFICATION.equals(this);
-    }
-
-}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/presenter/phycobank/RegistrationWorkflowPresenter.java b/src/main/java/eu/etaxonomy/cdm/vaadin/presenter/phycobank/RegistrationWorkflowPresenter.java
deleted file mode 100644
index 5aae0d7b..00000000
--- a/src/main/java/eu/etaxonomy/cdm/vaadin/presenter/phycobank/RegistrationWorkflowPresenter.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/**
-* Copyright (C) 2017 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-package eu.etaxonomy.cdm.vaadin.presenter.phycobank;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.event.EventListener;
-
-import com.vaadin.spring.annotation.SpringComponent;
-import com.vaadin.spring.annotation.ViewScope;
-
-import eu.etaxonomy.cdm.mock.Registration;
-import eu.etaxonomy.cdm.mock.RegistrationService;
-import eu.etaxonomy.cdm.model.name.Rank;
-import eu.etaxonomy.cdm.model.name.TaxonNameFactory;
-import eu.etaxonomy.cdm.vaadin.event.phycobank.RegistrationWorkflowEvent;
-import eu.etaxonomy.cdm.vaadin.view.phycobank.RegistrationWorkflowView;
-import eu.etaxonomy.vaadin.mvp.AbstractPresenter;
-
-/**
- * @author a.kohlbecker
- * @since Mar 3, 2017
- *
- */
-@SpringComponent
-@ViewScope
-public class RegistrationWorkflowPresenter extends AbstractPresenter<RegistrationWorkflowView> {
-
-
-    @Autowired
-    private RegistrationService serviceMock;
-
-    private Registration registration;
-
-    /**
-     *
-     */
-    public RegistrationWorkflowPresenter() {
-    }
-
-    @EventListener
-    protected void onRegistrationStartEvent(RegistrationWorkflowEvent e){
-
-        if(e.isStart()) {
-            registration = new Registration();
-            registration.setName(TaxonNameFactory.NewBotanicalInstance(Rank.SPECIES()));
-        } else {
-            registration = serviceMock.loadByRegistrationID(e.getRegistrationID());
-        }
-        if(registration != null){
-            getView().getTitle().setValue("Workflow for a " + registrationType().name());
-            getView().makeWorflow(registrationType());
-        }
-    }
-
-    /**
-     * @return
-     */
-    private RegistrationType registrationType() {
-        return RegistrationType.from(registration);
-    }
-
-
-
-}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/presenter/registration/ListPresenter.java b/src/main/java/eu/etaxonomy/cdm/vaadin/presenter/registration/ListPresenter.java
new file mode 100644
index 00000000..c829df09
--- /dev/null
+++ b/src/main/java/eu/etaxonomy/cdm/vaadin/presenter/registration/ListPresenter.java
@@ -0,0 +1,48 @@
+/**
+* Copyright (C) 2017 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.cdm.vaadin.presenter.registration;
+
+import java.util.Collection;
+
+import org.springframework.beans.factory.annotation.Autowired;
+
+import com.vaadin.spring.annotation.SpringComponent;
+import com.vaadin.spring.annotation.ViewScope;
+
+import eu.etaxonomy.cdm.mock.RegistrationService;
+import eu.etaxonomy.cdm.vaadin.view.registration.ListView;
+import eu.etaxonomy.vaadin.mvp.AbstractPresenter;
+
+/**
+ * @author a.kohlbecker
+ * @since Mar 3, 2017
+ *
+ */
+@SpringComponent
+@ViewScope
+public class ListPresenter extends AbstractPresenter<ListView> {
+
+    @Autowired
+    private RegistrationService serviceMock;
+
+    @Override
+    public void onViewEnter() {
+        super.onViewEnter();
+        getView().populate(listRegistrations());
+    }
+
+    /**
+     * @return
+     */
+    private Collection<RegistrationDTO> listRegistrations() {
+        Collection<RegistrationDTO> dtos = serviceMock.listDTOs();
+        return dtos;
+    }
+
+}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/presenter/registration/RegistrationDTO.java b/src/main/java/eu/etaxonomy/cdm/vaadin/presenter/registration/RegistrationDTO.java
new file mode 100644
index 00000000..35f9642d
--- /dev/null
+++ b/src/main/java/eu/etaxonomy/cdm/vaadin/presenter/registration/RegistrationDTO.java
@@ -0,0 +1,148 @@
+/**
+* Copyright (C) 2017 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.cdm.vaadin.presenter.registration;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.joda.time.DateTime;
+
+import eu.etaxonomy.cdm.mock.Registration;
+import eu.etaxonomy.cdm.mock.RegistrationStatus;
+import eu.etaxonomy.cdm.model.name.TaxonNameBase;
+import eu.etaxonomy.cdm.model.reference.INomenclaturalReference;
+import eu.etaxonomy.cdm.model.reference.Reference;
+import eu.etaxonomy.cdm.vaadin.util.TypeDesignationConverter;
+
+public class RegistrationDTO{
+
+    private String summary = "";
+
+    private String citationString = "";
+
+    private int citationID;
+
+    private RegistrationType registrationType;
+
+    private Registration reg;
+
+    static int idAutoincrement = 100000;
+
+    private Set<Registration> blockedBy = new HashSet<>();
+
+    /**
+     * @param reg
+     * @param typifiedName should be provided in for Registrations for TypeDesignations
+     */
+    public RegistrationDTO(Registration reg, TaxonNameBase typifiedName) {
+
+         this.reg = reg;
+
+        registrationType = RegistrationType.from(reg);
+        if(registrationType.isName()){
+            summary = reg.getName().getTitleCache();
+            INomenclaturalReference citation = reg.getName().getNomenclaturalReference();
+            if(citation != null){
+                citationString = citation.generateTitle();
+                citationID = citation.getId();
+            }
+        } else if(registrationType.isTypification()){
+            summary = new TypeDesignationConverter(reg.getTypeDesignations(), typifiedName)
+                    .buildString().print();
+            if(!reg.getTypeDesignations().isEmpty()){
+                Reference citation = reg.getTypeDesignations().iterator().next().getCitation();
+                if(citation != null) {
+                    citationString = citation.generateTitle();
+                    citationID = citation.getId();
+                }
+            }
+        } else {
+            summary = "- INVALID REGISTRATION -";
+        }
+    }
+
+    /**
+     * @return the summary
+     */
+    public String getSummary() {
+        return summary;
+    }
+
+
+    /**
+     * @return the registrationType
+     */
+    public RegistrationType getRegistrationType() {
+        return registrationType;
+    }
+
+
+    /**
+     * @return the status
+     */
+    public RegistrationStatus getStatus() {
+        return reg.getStatus();
+    }
+
+
+    /**
+     * @return the registrationId
+     */
+    public String getRegistrationId() {
+        return reg.getIdentifier();
+    }
+
+
+    /**
+     * @return the specificIdentifier
+     */
+    public String getSpecificIdentifier() {
+        return reg.getSpecificIdentifier();
+    }
+
+    /**
+     * @return the registrationDate
+     */
+    public DateTime getRegistrationDate() {
+        return reg.getRegistrationDate();
+    }
+
+    /**
+     * @return the created
+     */
+    public DateTime getCreated() {
+        return reg.getCreated();
+    }
+
+    public String getCitation() {
+        return citationString;
+    }
+
+    /**
+     * @return the blockedBy
+     */
+    public Set<Registration> getBlockedBy() {
+        return blockedBy;
+    }
+
+    /**
+     * @return the citationString
+     */
+    public String getCitationString() {
+        return citationString;
+    }
+
+    /**
+     * @return the citationID
+     */
+    public int getCitationID() {
+        return citationID;
+    }
+
+}
\ No newline at end of file
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/presenter/registration/RegistrationType.java b/src/main/java/eu/etaxonomy/cdm/vaadin/presenter/registration/RegistrationType.java
new file mode 100644
index 00000000..1ecc9400
--- /dev/null
+++ b/src/main/java/eu/etaxonomy/cdm/vaadin/presenter/registration/RegistrationType.java
@@ -0,0 +1,50 @@
+/**
+* Copyright (C) 2017 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.cdm.vaadin.presenter.registration;
+
+import eu.etaxonomy.cdm.mock.Registration;
+
+/**
+ * @author a.kohlbecker
+ * @since Mar 3, 2017
+ *
+ */
+public enum RegistrationType {
+
+    NAME, TYPIFICATION, INVALID;
+
+    /**
+     * @param reg
+     * @return
+     */
+    public static RegistrationType from(Registration reg) {
+        if(reg.getName() != null){
+            return NAME;
+        }
+        if(reg.getTypeDesignations().size() > 0){
+            return TYPIFICATION;
+        }
+        return INVALID;
+    }
+
+    /**
+     * @return
+     */
+    public boolean isName() {
+        return NAME.equals(this);
+
+  }
+    /**
+     * @return
+     */
+    public boolean isTypification() {
+        return TYPIFICATION.equals(this);
+    }
+
+}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/presenter/registration/RegistrationWorkflowPresenter.java b/src/main/java/eu/etaxonomy/cdm/vaadin/presenter/registration/RegistrationWorkflowPresenter.java
new file mode 100644
index 00000000..075a7e6d
--- /dev/null
+++ b/src/main/java/eu/etaxonomy/cdm/vaadin/presenter/registration/RegistrationWorkflowPresenter.java
@@ -0,0 +1,70 @@
+/**
+* Copyright (C) 2017 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.cdm.vaadin.presenter.registration;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.event.EventListener;
+
+import com.vaadin.spring.annotation.SpringComponent;
+import com.vaadin.spring.annotation.ViewScope;
+
+import eu.etaxonomy.cdm.mock.Registration;
+import eu.etaxonomy.cdm.mock.RegistrationService;
+import eu.etaxonomy.cdm.model.name.Rank;
+import eu.etaxonomy.cdm.model.name.TaxonNameFactory;
+import eu.etaxonomy.cdm.vaadin.event.registration.RegistrationWorkflowEvent;
+import eu.etaxonomy.cdm.vaadin.view.registration.RegistrationWorkflowView;
+import eu.etaxonomy.vaadin.mvp.AbstractPresenter;
+
+/**
+ * @author a.kohlbecker
+ * @since Mar 3, 2017
+ *
+ */
+@SpringComponent
+@ViewScope
+public class RegistrationWorkflowPresenter extends AbstractPresenter<RegistrationWorkflowView> {
+
+
+    @Autowired
+    private RegistrationService serviceMock;
+
+    private Registration registration;
+
+    /**
+     *
+     */
+    public RegistrationWorkflowPresenter() {
+    }
+
+    @EventListener
+    protected void onRegistrationStartEvent(RegistrationWorkflowEvent e){
+
+        if(e.isStart()) {
+            registration = new Registration();
+            registration.setName(TaxonNameFactory.NewBotanicalInstance(Rank.SPECIES()));
+        } else {
+            registration = serviceMock.loadByRegistrationID(e.getRegistrationID());
+        }
+        if(registration != null){
+            getView().getTitle().setValue("Workflow for a " + registrationType().name());
+            getView().makeWorflow(registrationType());
+        }
+    }
+
+    /**
+     * @return
+     */
+    private RegistrationType registrationType() {
+        return RegistrationType.from(registration);
+    }
+
+
+
+}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/ui/RegistrationUI.java b/src/main/java/eu/etaxonomy/cdm/vaadin/ui/RegistrationUI.java
index 6b7d1bbf..2e423787 100644
--- a/src/main/java/eu/etaxonomy/cdm/vaadin/ui/RegistrationUI.java
+++ b/src/main/java/eu/etaxonomy/cdm/vaadin/ui/RegistrationUI.java
@@ -28,9 +28,9 @@ import com.vaadin.ui.Label;
 import com.vaadin.ui.UI;
 import com.vaadin.ui.themes.ValoTheme;
 
-import eu.etaxonomy.cdm.vaadin.view.phycobank.DashBoardView;
-import eu.etaxonomy.cdm.vaadin.view.phycobank.ListViewBean;
-import eu.etaxonomy.cdm.vaadin.view.phycobank.StartRegistrationView;
+import eu.etaxonomy.cdm.vaadin.view.registration.DashBoardView;
+import eu.etaxonomy.cdm.vaadin.view.registration.ListViewBean;
+import eu.etaxonomy.cdm.vaadin.view.registration.StartRegistrationView;
 import eu.etaxonomy.vaadin.ui.MainMenu;
 import eu.etaxonomy.vaadin.ui.UIInitializedEvent;
 import eu.etaxonomy.vaadin.ui.navigation.NavigationEvent;
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/view/phycobank/DashBoardView.java b/src/main/java/eu/etaxonomy/cdm/vaadin/view/phycobank/DashBoardView.java
deleted file mode 100644
index 7d6696ef..00000000
--- a/src/main/java/eu/etaxonomy/cdm/vaadin/view/phycobank/DashBoardView.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/**
-* Copyright (C) 2017 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-package eu.etaxonomy.cdm.vaadin.view.phycobank;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.ApplicationEventPublisher;
-
-import com.vaadin.navigator.View;
-import com.vaadin.navigator.ViewChangeListener.ViewChangeEvent;
-import com.vaadin.server.Responsive;
-import com.vaadin.spring.annotation.SpringView;
-
-import eu.etaxonomy.cdm.vaadin.design.phycobank.DashBoardDesign;
-import eu.etaxonomy.vaadin.ui.navigation.NavigationEvent;
-
-/**
- * @author a.kohlbecker
- * @since Mar 2, 2017
- *
- */
-@SpringView(name=DashBoardView.NAME)
-public class DashBoardView extends DashBoardDesign implements View {
-
-    public static final String NAME = "dashboard";
-
-    private static final long serialVersionUID = -6172448806905158782L;
-
-    @Autowired
-    ApplicationEventPublisher eventBus;
-
-    public DashBoardView() {
-        Responsive.makeResponsive(dashboard);
-        buttonNew.addClickListener(e -> eventBus.publishEvent(new NavigationEvent(StartRegistrationView.NAME)));
-        buttonContinue.addClickListener(e -> eventBus.publishEvent(new NavigationEvent(ListViewBean.NAME)));
-        buttonList.addClickListener(e -> eventBus.publishEvent(new NavigationEvent(ListViewBean.NAME)));
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void enter(ViewChangeEvent event) {
-        // TODO Auto-generated method stub
-
-    }
-
-}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/view/phycobank/ListView.java b/src/main/java/eu/etaxonomy/cdm/vaadin/view/phycobank/ListView.java
deleted file mode 100644
index 85e8a7ab..00000000
--- a/src/main/java/eu/etaxonomy/cdm/vaadin/view/phycobank/ListView.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
-* Copyright (C) 2017 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-package eu.etaxonomy.cdm.vaadin.view.phycobank;
-
-import java.util.Collection;
-
-import eu.etaxonomy.cdm.vaadin.presenter.phycobank.ListPresenter;
-import eu.etaxonomy.cdm.vaadin.presenter.phycobank.RegistrationDTO;
-import eu.etaxonomy.vaadin.mvp.ApplicationView;
-
-/**
- * @author a.kohlbecker
- * @since Mar 3, 2017
- *
- */
-public interface ListView extends ApplicationView<ListPresenter>{
-
-    /**
-     * @param page
-     */
-    void populate(Collection<RegistrationDTO> registrations);
-
-
-}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/view/phycobank/ListViewBean.java b/src/main/java/eu/etaxonomy/cdm/vaadin/view/phycobank/ListViewBean.java
deleted file mode 100644
index fec4eb72..00000000
--- a/src/main/java/eu/etaxonomy/cdm/vaadin/view/phycobank/ListViewBean.java
+++ /dev/null
@@ -1,248 +0,0 @@
-/**
-* Copyright (C) 2017 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-package eu.etaxonomy.cdm.vaadin.view.phycobank;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.springframework.beans.factory.annotation.Autowired;
-
-import com.vaadin.data.Item;
-import com.vaadin.data.util.BeanContainer;
-import com.vaadin.data.util.GeneratedPropertyContainer;
-import com.vaadin.data.util.PropertyValueGenerator;
-import com.vaadin.navigator.View;
-import com.vaadin.navigator.ViewChangeListener.ViewChangeEvent;
-import com.vaadin.shared.ui.grid.HeightMode;
-import com.vaadin.spring.annotation.SpringView;
-import com.vaadin.ui.Button;
-import com.vaadin.ui.Button.ClickEvent;
-import com.vaadin.ui.Component;
-import com.vaadin.ui.CssLayout;
-import com.vaadin.ui.Grid;
-import com.vaadin.ui.Grid.Column;
-import com.vaadin.ui.Grid.SelectionMode;
-import com.vaadin.ui.renderers.ButtonRenderer;
-import com.vaadin.ui.renderers.DateRenderer;
-import com.vaadin.ui.renderers.HtmlRenderer;
-
-import eu.etaxonomy.cdm.vaadin.component.phycobank.RegistrationItem;
-import eu.etaxonomy.cdm.vaadin.presenter.phycobank.ListPresenter;
-import eu.etaxonomy.cdm.vaadin.presenter.phycobank.RegistrationDTO;
-import eu.etaxonomy.cdm.vaadin.util.JodaDateTimeConverter;
-import eu.etaxonomy.cdm.vaadin.util.UrlStringConverter;
-import eu.etaxonomy.cdm.vaadin.view.AbstractPageView;
-import eu.etaxonomy.vaadin.ui.navigation.NavigationEvent;
-
-/**
- * @author a.kohlbecker
- * @since Mar 2, 2017
- *
- */
-@SpringView(name=ListViewBean.NAME)
-public class ListViewBean extends AbstractPageView<ListPresenter> implements ListView, View {
-
-    private static final long serialVersionUID = 3543300933072824713L;
-
-    public static final String NAME = "list";
-
-    private CssLayout listContainer;
-
-    private Grid grid;
-
-    private CssLayout toolBar;
-
-    public ListViewBean() {
-
-        super();
-
-        toolBar = new CssLayout();
-        toolBar.setWidth(100, Unit.PERCENTAGE);
-        toolBar.addComponent(new Button("As grid", e -> toggleListType(e)));
-        getLayout().addComponent(toolBar);
-
-        buildList();
-        buildGrid();
-
-        showList();
-    }
-
-    @Override
-    protected String getHeaderText() {
-        return "Registrations";
-    }
-
-    @Override
-    protected String getSubHeaderText() {
-        return "This is the list of all your registrations in progress.";
-    }
-
-    private void buildList() {
-        listContainer = new CssLayout();
-        listContainer.setId("registration-list");
-        listContainer.setWidth(100, Unit.PERCENTAGE);
-    }
-
-    private void buildGrid() {
-        grid = new Grid();
-        grid.setSizeFull();
-        grid.setEditorEnabled(false);
-        grid.setId("registration-list");
-        grid.setCellStyleGenerator(cellRef -> cellRef.getPropertyId().toString());
-        grid.setSelectionMode(SelectionMode.NONE);
-        grid.setHeightMode(HeightMode.CSS);
-        // add status as class  attribute to the rows to allow styling with css
-        grid.setRowStyleGenerator(rowRef -> {return "status-" + rowRef.getItem().getItemProperty("status").getValue().toString();});
-    }
-
-    /**
-     * @param e
-     * @return
-     */
-    private Object toggleListType(ClickEvent e) {
-        Button button = e.getButton();
-        if(button.getCaption().equals("As grid")){
-            button.setCaption("As list");
-            showGrid();
-        } else {
-            button.setCaption("As grid");
-            showList();
-        }
-        return null;
-    }
-
-    private void showList() {
-        if(grid != null){
-            getLayout().removeComponent(grid);
-        }
-        getLayout().addComponent(listContainer);
-    }
-
-    private void showGrid() {
-        if(listContainer != null){
-            getLayout().removeComponent(listContainer);
-        }
-        getLayout().addComponent(grid);
-    }
-
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void enter(ViewChangeEvent event) {
-        getPresenter().onViewEnter();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    @Autowired
-    protected void injectPresenter(ListPresenter presenter) {
-        setPresenter(presenter);
-    }
-
-    @Override
-    public void populate(Collection<RegistrationDTO> registrations) {
-
-        registrations = new ArrayList<RegistrationDTO>(registrations).subList(0, 10);
-
-        populateGrid(registrations);
-        populateList(registrations);
-    }
-
-
-    public void populateGrid(Collection<RegistrationDTO> registrations) {
-
-        BeanContainer<String, RegistrationDTO> registrationItems = new BeanContainer<String, RegistrationDTO>(RegistrationDTO.class);
-        registrationItems.setBeanIdProperty("specificIdentifier");
-        registrationItems.addAll(registrations);
-
-        grid.setContainerDataSource(buildGeneratedProperties(registrationItems));
-
-        grid.removeAllColumns();
-
-        Column typeColumn = grid.addColumn("registrationType");
-        typeColumn.setRenderer(new HtmlRenderer(), new RegistrationTypeConverter());
-        typeColumn.setHeaderCaption("");
-
-        Column statusColumn = grid.addColumn("status");
-
-        Column citationColumn = grid.addColumn("citation");
-        citationColumn.setHeaderCaption("Publication");
-
-
-        Column summaryColumn = grid.addColumn("summary");
-
-        Column regidColumn = grid.addColumn("registrationId");
-        regidColumn.setHeaderCaption("Id");
-        regidColumn.setRenderer(new HtmlRenderer(), new UrlStringConverter("http://pyhcobank.org/"));
-
-        Column createdColumn = grid.addColumn("created");
-        createdColumn.setRenderer(new DateRenderer(), new JodaDateTimeConverter());
-        createdColumn.setHidable(true);
-        createdColumn.setHidden(true);
-
-        Column regDateColumn = grid.addColumn("registrationDate");
-        // regDateColumn.setHeaderCaption("Date");
-        regDateColumn.setRenderer(new DateRenderer(), new JodaDateTimeConverter());
-        regDateColumn.setHidable(true);
-        regDateColumn.setHidden(true);
-
-
-        Column buttonColumn = grid.addColumn("operation");
-        buttonColumn.setRenderer(new ButtonRenderer(e -> eventBus.publishEvent(new NavigationEvent(
-                RegistrationWorkflowViewBean.NAME,
-                RegistrationWorkflowViewBean.ACTION_EDIT,
-                e.getItemId().toString()
-                ))));
-        buttonColumn.setSortable(false);
-
-        grid.setFrozenColumnCount(1);
-
-    }
-
-
-    public void populateList(Collection<RegistrationDTO> registrations) {
-
-        for(RegistrationDTO regDto : registrations) {
-            Component lazyItem = new RegistrationItem(regDto, this); //new LazyLoadWrapper(new RegistrationItem(regDto, this));
-            lazyItem.setWidth(100, Unit.PERCENTAGE);
-            listContainer.addComponent(lazyItem);
-        }
-    }
-
-    /**
-     * @param registrationItems
-     * @return
-     */
-    private GeneratedPropertyContainer buildGeneratedProperties(
-            BeanContainer<String, RegistrationDTO> registrationItems) {
-        GeneratedPropertyContainer gpContainer = new GeneratedPropertyContainer(registrationItems);
-
-        gpContainer.addGeneratedProperty("operation", new PropertyValueGenerator<String>() {
-
-            @Override
-            public String getValue(Item item, Object itemId, Object propertyId) {
-                return "Open";
-            }
-
-            @Override
-            public Class<String> getType() {
-                return String.class;
-            }
-          });
-
-        return gpContainer;
-    }
-
-
-
-}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/view/phycobank/RegistrationTypeConverter.java b/src/main/java/eu/etaxonomy/cdm/vaadin/view/phycobank/RegistrationTypeConverter.java
deleted file mode 100644
index 6ff2c31b..00000000
--- a/src/main/java/eu/etaxonomy/cdm/vaadin/view/phycobank/RegistrationTypeConverter.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/**
-* Copyright (C) 2017 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-package eu.etaxonomy.cdm.vaadin.view.phycobank;
-
-import java.util.Locale;
-
-import com.vaadin.data.util.converter.Converter;
-import com.vaadin.server.FontAwesome;
-
-import eu.etaxonomy.cdm.vaadin.presenter.phycobank.RegistrationType;
-
-/**
- * @author a.kohlbecker
- * @since Mar 7, 2017
- *
- */
-public class RegistrationTypeConverter implements Converter<String, RegistrationType> {
-    @Override
-    public RegistrationType convertToModel(String value, Class<? extends RegistrationType> targetType,
-            Locale locale) throws com.vaadin.data.util.converter.Converter.ConversionException {
-        // not implemented
-        return null;
-    }
-
-    @Override
-    public String convertToPresentation(RegistrationType value, Class<? extends String> targetType,
-            Locale locale) throws com.vaadin.data.util.converter.Converter.ConversionException {
-        if(value.equals(RegistrationType.NAME)) {
-            return FontAwesome.TAG.getHtml();
-        }
-        if(value.equals(RegistrationType.TYPIFICATION)) {
-            return FontAwesome.TAGS.getHtml();
-        }
-        return FontAwesome.WARNING.getHtml();
-    }
-
-    @Override
-    public Class<RegistrationType> getModelType() {
-        return RegistrationType.class;
-    }
-
-    @Override
-    public Class<String> getPresentationType() {
-        return String.class;
-    }
-}
\ No newline at end of file
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/view/phycobank/RegistrationWorkflowView.java b/src/main/java/eu/etaxonomy/cdm/vaadin/view/phycobank/RegistrationWorkflowView.java
deleted file mode 100644
index 27ab3d03..00000000
--- a/src/main/java/eu/etaxonomy/cdm/vaadin/view/phycobank/RegistrationWorkflowView.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
-* Copyright (C) 2017 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-package eu.etaxonomy.cdm.vaadin.view.phycobank;
-
-import java.util.UUID;
-
-import com.vaadin.ui.CssLayout;
-import com.vaadin.ui.Label;
-
-import eu.etaxonomy.cdm.vaadin.presenter.phycobank.RegistrationType;
-import eu.etaxonomy.vaadin.mvp.ApplicationView;
-
-/**
- * @author a.kohlbecker
- * @since Mar 3, 2017
- *
- */
-public interface RegistrationWorkflowView extends ApplicationView{
-
-
-    CssLayout getWorkflow();
-
-    Label getTitle();
-
-
-    /**
-     * Open a popup editor for an existing TaxonName if the nameUuid is
-     * given otherwise a blank editor will open if the  nameUuid is null.
-     *
-     * @param nameUuid can be null
-     * @deprecated will be handled by the WorkflowItem
-     */
-    @Deprecated
-    void openNameEditor(UUID nameUuid);
-
-    public void makeWorflow(RegistrationType type);
-
-}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/view/phycobank/RegistrationWorkflowViewBean.java b/src/main/java/eu/etaxonomy/cdm/vaadin/view/phycobank/RegistrationWorkflowViewBean.java
deleted file mode 100644
index 4a129718..00000000
--- a/src/main/java/eu/etaxonomy/cdm/vaadin/view/phycobank/RegistrationWorkflowViewBean.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/**
-* Copyright (C) 2017 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-package eu.etaxonomy.cdm.vaadin.view.phycobank;
-
-import java.util.UUID;
-
-import org.springframework.beans.factory.annotation.Autowired;
-
-import com.vaadin.navigator.View;
-import com.vaadin.navigator.ViewChangeListener.ViewChangeEvent;
-import com.vaadin.spring.annotation.SpringView;
-import com.vaadin.ui.CssLayout;
-import com.vaadin.ui.Label;
-
-import eu.etaxonomy.cdm.vaadin.component.phycobank.RegistrationWorkflowComponent;
-import eu.etaxonomy.cdm.vaadin.component.phycobank.WorkflowSteps;
-import eu.etaxonomy.cdm.vaadin.event.phycobank.RegistrationWorkflowEvent;
-import eu.etaxonomy.cdm.vaadin.presenter.phycobank.RegistrationType;
-import eu.etaxonomy.cdm.vaadin.presenter.phycobank.RegistrationWorkflowPresenter;
-import eu.etaxonomy.vaadin.mvp.AbstractView;
-
-/**
- * @author a.kohlbecker
- * @since Mar 2, 2017
- *
- */
-@SpringView(name=RegistrationWorkflowViewBean.NAME)
-public class RegistrationWorkflowViewBean extends AbstractView<RegistrationWorkflowPresenter>
-    implements RegistrationWorkflowView, View {
-
-    private static final long serialVersionUID = -213040114015958970L;
-
-    public static final String NAME = "workflow";
-
-    public static final String ACTION_NEW = "new";
-
-    public static final String ACTION_EDIT = "edit";
-
-    public RegistrationType regType = null;
-
-    RegistrationWorkflowComponent design;
-
-    public RegistrationWorkflowViewBean() {
-        design = new RegistrationWorkflowComponent();
-        setCompositionRoot(design);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void enter(ViewChangeEvent event) {
-        if(event.getParameters() != null){
-           String[] params = event.getParameters().split("/");
-
-           if(params[0].equals(ACTION_NEW)) {
-               regType = RegistrationType.valueOf(params[1]);
-               design.getTitle().setValue(design.getTitle().getValue() + "  " + regType.name() + " ...");
-               eventBus.publishEvent(new RegistrationWorkflowEvent(regType));
-
-           } else if( params[0].equals(ACTION_EDIT)) {
-               design.getTitle().setValue(design.getTitle().getValue() + "  " + params[1]);
-               eventBus.publishEvent(new RegistrationWorkflowEvent(Integer.parseInt(params[1])));
-           }
-
-        }
-    }
-
-    @Override
-    public void makeWorflow(RegistrationType type){
-        switch (type) {
-        case NAME:
-            addNameWorkflow();
-            break;
-        case TYPIFICATION:
-            addTypificationWorkflow();
-            break;
-        default:
-            break;
-        }
-    }
-
-    /**
-    *
-    */
-   private void addNameWorkflow() {
-       WorkflowSteps steps = new WorkflowSteps();
-       steps.appendNewWorkflowItem(1, "Nomenclatural reference", null);
-       steps.appendNewWorkflowItem(2, "Name", null);
-       steps.appendNewWorkflowItem(3, "Publisher Details", null);
-       steps.appendNewWorkflowItem(4, "Data curation", null);
-       steps.appendNewWorkflowItem(5, "Awaiting publication", null);
-       getWorkflow().addComponent(steps);
-   }
-
-   /**
-   *
-   */
-  private void addTypificationWorkflow() {
-      WorkflowSteps steps = new WorkflowSteps();
-      steps.appendNewWorkflowItem(1, "Name", null);
-      steps.appendNewWorkflowItem(2, "Type information", null);
-      steps.appendNewWorkflowItem(3, "Publisher Details", null);
-      steps.appendNewWorkflowItem(4, "Data curation", null);
-      steps.appendNewWorkflowItem(5, "Awaiting publication", null);
-      getWorkflow().addComponent(steps);
-  }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Autowired
-    @Override
-    protected void injectPresenter(RegistrationWorkflowPresenter presenter) {
-        setPresenter(presenter);
-    }
-
-    /* ------- RegistrationWorkflowView implementation ------- */
-
-    /**
-     * @return the title
-     */
-    @Override
-    public Label getTitle() {
-        return design.getTitle();
-    }
-
-    /**
-     * @return the workflow
-     */
-    @Override
-    public CssLayout getWorkflow() {
-        return design.getWorkflow();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void openNameEditor(UUID nameUuid) {
-        // TODO Auto-generated method stub
-
-    }
-
-}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/view/phycobank/StartRegistrationView.java b/src/main/java/eu/etaxonomy/cdm/vaadin/view/phycobank/StartRegistrationView.java
deleted file mode 100644
index c8d413f0..00000000
--- a/src/main/java/eu/etaxonomy/cdm/vaadin/view/phycobank/StartRegistrationView.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/**
-* Copyright (C) 2017 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-package eu.etaxonomy.cdm.vaadin.view.phycobank;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.ApplicationEventPublisher;
-
-import com.vaadin.navigator.View;
-import com.vaadin.navigator.ViewChangeListener.ViewChangeEvent;
-import com.vaadin.spring.annotation.SpringView;
-
-import eu.etaxonomy.cdm.vaadin.design.phycobank.StartRegistrationDesign;
-import eu.etaxonomy.cdm.vaadin.presenter.phycobank.RegistrationType;
-import eu.etaxonomy.vaadin.ui.navigation.NavigationEvent;
-
-/**
- * @author a.kohlbecker
- * @since Mar 2, 2017
- *
- */
-@SpringView(name=StartRegistrationView.NAME)
-public class StartRegistrationView extends StartRegistrationDesign implements View {
-
-    private static final long serialVersionUID = -213040114015958970L;
-
-    public static final String NAME = "regStart";
-
-    @Autowired
-    ApplicationEventPublisher eventBus;
-
-    public StartRegistrationView() {
-        buttonName.addClickListener(e -> eventBus.publishEvent(new NavigationEvent(
-                RegistrationWorkflowViewBean.NAME,
-                RegistrationWorkflowViewBean.ACTION_NEW,
-                RegistrationType.NAME.name()
-                )));
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void enter(ViewChangeEvent event) {
-
-    }
-
-}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/view/phycobank/TestView1.java b/src/main/java/eu/etaxonomy/cdm/vaadin/view/phycobank/TestView1.java
deleted file mode 100644
index 426eab83..00000000
--- a/src/main/java/eu/etaxonomy/cdm/vaadin/view/phycobank/TestView1.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
-* Copyright (C) 2017 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-package eu.etaxonomy.cdm.vaadin.view.phycobank;
-
-import javax.annotation.PostConstruct;
-
-import com.vaadin.navigator.View;
-import com.vaadin.navigator.ViewChangeListener.ViewChangeEvent;
-import com.vaadin.spring.annotation.SpringView;
-import com.vaadin.ui.Label;
-import com.vaadin.ui.VerticalLayout;
-
-/**
- * @author a.kohlbecker
- * @since Feb 24, 2017
- *
- */
-@SpringView(name=TestView1.NAME)
-/*
- * MenuBeanDiscovery is not yet working with spring!!!!!
-@SpringComponent
-@Scope(scopeName = ViewScopeImpl.VAADIN_VIEW_SCOPE_NAME, proxyMode = ScopedProxyMode.TARGET_CLASS)
-@MenuItem(name="test", icon=FontAwesome.INFO_CIRCLE, order = 0)
-*/
-public class TestView1 extends VerticalLayout  implements View {
-
-    public static final String NAME = "test1";
-
-    private static final long serialVersionUID = 6152530138547633828L;
-
-    public TestView1(){
-        setWidth(100, Unit.PERCENTAGE);
-        setMargin(true);
-        this.addComponent(new Label("This is only a test!"));
-    }
-
-    @PostConstruct
-    protected void initialize() {
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void enter(ViewChangeEvent event) {
-        // TODO Auto-generated method stub
-
-    }
-
-
-
-}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/view/phycobank/TestView2.java b/src/main/java/eu/etaxonomy/cdm/vaadin/view/phycobank/TestView2.java
deleted file mode 100644
index f51fd958..00000000
--- a/src/main/java/eu/etaxonomy/cdm/vaadin/view/phycobank/TestView2.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/**
-* Copyright (C) 2017 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-package eu.etaxonomy.cdm.vaadin.view.phycobank;
-
-import javax.annotation.PostConstruct;
-
-import com.vaadin.navigator.View;
-import com.vaadin.navigator.ViewChangeListener.ViewChangeEvent;
-import com.vaadin.spring.annotation.SpringView;
-import com.vaadin.ui.Label;
-import com.vaadin.ui.VerticalLayout;
-
-/**
- * @author a.kohlbecker
- * @since Feb 24, 2017
- *
- */
-@SpringView(name=TestView2.NAME)
-/*
- * MenuBeanDiscovery is not yet working with spring!!!!!
-@SpringComponent
-@Scope(scopeName = ViewScopeImpl.VAADIN_VIEW_SCOPE_NAME, proxyMode = ScopedProxyMode.TARGET_CLASS)
-@MenuItem(name="test", icon=FontAwesome.INFO_CIRCLE, order = 0)
-*/
-public class TestView2 extends VerticalLayout  implements View {
-
-    public static final String NAME = "test2";
-
-    private static final long serialVersionUID = 6152530138547633828L;
-
-    public TestView2(){
-        setWidth(100, Unit.PERCENTAGE);
-        setMargin(true);
-        this.addComponent(new Label("This is another test"));
-    }
-
-    @PostConstruct
-    protected void initialize() {
-
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void enter(ViewChangeEvent event) {
-        // TODO Auto-generated method stub
-
-    }
-
-
-
-}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/view/registration/DashBoardView.java b/src/main/java/eu/etaxonomy/cdm/vaadin/view/registration/DashBoardView.java
new file mode 100644
index 00000000..921dcdfe
--- /dev/null
+++ b/src/main/java/eu/etaxonomy/cdm/vaadin/view/registration/DashBoardView.java
@@ -0,0 +1,53 @@
+/**
+* Copyright (C) 2017 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.cdm.vaadin.view.registration;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.ApplicationEventPublisher;
+
+import com.vaadin.navigator.View;
+import com.vaadin.navigator.ViewChangeListener.ViewChangeEvent;
+import com.vaadin.server.Responsive;
+import com.vaadin.spring.annotation.SpringView;
+
+import eu.etaxonomy.cdm.vaadin.design.registration.DashBoardDesign;
+import eu.etaxonomy.vaadin.ui.navigation.NavigationEvent;
+
+/**
+ * @author a.kohlbecker
+ * @since Mar 2, 2017
+ *
+ */
+@SpringView(name=DashBoardView.NAME)
+public class DashBoardView extends DashBoardDesign implements View {
+
+    public static final String NAME = "dashboard";
+
+    private static final long serialVersionUID = -6172448806905158782L;
+
+    @Autowired
+    ApplicationEventPublisher eventBus;
+
+    public DashBoardView() {
+        Responsive.makeResponsive(dashboard);
+        buttonNew.addClickListener(e -> eventBus.publishEvent(new NavigationEvent(StartRegistrationView.NAME)));
+        buttonContinue.addClickListener(e -> eventBus.publishEvent(new NavigationEvent(ListViewBean.NAME)));
+        buttonList.addClickListener(e -> eventBus.publishEvent(new NavigationEvent(ListViewBean.NAME)));
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public void enter(ViewChangeEvent event) {
+        // TODO Auto-generated method stub
+
+    }
+
+}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/view/registration/ListView.java b/src/main/java/eu/etaxonomy/cdm/vaadin/view/registration/ListView.java
new file mode 100644
index 00000000..28c429f0
--- /dev/null
+++ b/src/main/java/eu/etaxonomy/cdm/vaadin/view/registration/ListView.java
@@ -0,0 +1,30 @@
+/**
+* Copyright (C) 2017 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.cdm.vaadin.view.registration;
+
+import java.util.Collection;
+
+import eu.etaxonomy.cdm.vaadin.presenter.registration.ListPresenter;
+import eu.etaxonomy.cdm.vaadin.presenter.registration.RegistrationDTO;
+import eu.etaxonomy.vaadin.mvp.ApplicationView;
+
+/**
+ * @author a.kohlbecker
+ * @since Mar 3, 2017
+ *
+ */
+public interface ListView extends ApplicationView<ListPresenter>{
+
+    /**
+     * @param page
+     */
+    void populate(Collection<RegistrationDTO> registrations);
+
+
+}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/view/registration/ListViewBean.java b/src/main/java/eu/etaxonomy/cdm/vaadin/view/registration/ListViewBean.java
new file mode 100644
index 00000000..b7a8a6ce
--- /dev/null
+++ b/src/main/java/eu/etaxonomy/cdm/vaadin/view/registration/ListViewBean.java
@@ -0,0 +1,248 @@
+/**
+* Copyright (C) 2017 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.cdm.vaadin.view.registration;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.springframework.beans.factory.annotation.Autowired;
+
+import com.vaadin.data.Item;
+import com.vaadin.data.util.BeanContainer;
+import com.vaadin.data.util.GeneratedPropertyContainer;
+import com.vaadin.data.util.PropertyValueGenerator;
+import com.vaadin.navigator.View;
+import com.vaadin.navigator.ViewChangeListener.ViewChangeEvent;
+import com.vaadin.shared.ui.grid.HeightMode;
+import com.vaadin.spring.annotation.SpringView;
+import com.vaadin.ui.Button;
+import com.vaadin.ui.Button.ClickEvent;
+import com.vaadin.ui.Component;
+import com.vaadin.ui.CssLayout;
+import com.vaadin.ui.Grid;
+import com.vaadin.ui.Grid.Column;
+import com.vaadin.ui.Grid.SelectionMode;
+import com.vaadin.ui.renderers.ButtonRenderer;
+import com.vaadin.ui.renderers.DateRenderer;
+import com.vaadin.ui.renderers.HtmlRenderer;
+
+import eu.etaxonomy.cdm.vaadin.component.registration.RegistrationItem;
+import eu.etaxonomy.cdm.vaadin.presenter.registration.ListPresenter;
+import eu.etaxonomy.cdm.vaadin.presenter.registration.RegistrationDTO;
+import eu.etaxonomy.cdm.vaadin.util.JodaDateTimeConverter;
+import eu.etaxonomy.cdm.vaadin.util.UrlStringConverter;
+import eu.etaxonomy.cdm.vaadin.view.AbstractPageView;
+import eu.etaxonomy.vaadin.ui.navigation.NavigationEvent;
+
+/**
+ * @author a.kohlbecker
+ * @since Mar 2, 2017
+ *
+ */
+@SpringView(name=ListViewBean.NAME)
+public class ListViewBean extends AbstractPageView<ListPresenter> implements ListView, View {
+
+    private static final long serialVersionUID = 3543300933072824713L;
+
+    public static final String NAME = "list";
+
+    private CssLayout listContainer;
+
+    private Grid grid;
+
+    private CssLayout toolBar;
+
+    public ListViewBean() {
+
+        super();
+
+        toolBar = new CssLayout();
+        toolBar.setWidth(100, Unit.PERCENTAGE);
+        toolBar.addComponent(new Button("As grid", e -> toggleListType(e)));
+        getLayout().addComponent(toolBar);
+
+        buildList();
+        buildGrid();
+
+        showList();
+    }
+
+    @Override
+    protected String getHeaderText() {
+        return "Registrations";
+    }
+
+    @Override
+    protected String getSubHeaderText() {
+        return "This is the list of all your registrations in progress.";
+    }
+
+    private void buildList() {
+        listContainer = new CssLayout();
+        listContainer.setId("registration-list");
+        listContainer.setWidth(100, Unit.PERCENTAGE);
+    }
+
+    private void buildGrid() {
+        grid = new Grid();
+        grid.setSizeFull();
+        grid.setEditorEnabled(false);
+        grid.setId("registration-list");
+        grid.setCellStyleGenerator(cellRef -> cellRef.getPropertyId().toString());
+        grid.setSelectionMode(SelectionMode.NONE);
+        grid.setHeightMode(HeightMode.CSS);
+        // add status as class  attribute to the rows to allow styling with css
+        grid.setRowStyleGenerator(rowRef -> {return "status-" + rowRef.getItem().getItemProperty("status").getValue().toString();});
+    }
+
+    /**
+     * @param e
+     * @return
+     */
+    private Object toggleListType(ClickEvent e) {
+        Button button = e.getButton();
+        if(button.getCaption().equals("As grid")){
+            button.setCaption("As list");
+            showGrid();
+        } else {
+            button.setCaption("As grid");
+            showList();
+        }
+        return null;
+    }
+
+    private void showList() {
+        if(grid != null){
+            getLayout().removeComponent(grid);
+        }
+        getLayout().addComponent(listContainer);
+    }
+
+    private void showGrid() {
+        if(listContainer != null){
+            getLayout().removeComponent(listContainer);
+        }
+        getLayout().addComponent(grid);
+    }
+
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public void enter(ViewChangeEvent event) {
+        getPresenter().onViewEnter();
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    @Autowired
+    protected void injectPresenter(ListPresenter presenter) {
+        setPresenter(presenter);
+    }
+
+    @Override
+    public void populate(Collection<RegistrationDTO> registrations) {
+
+        registrations = new ArrayList<RegistrationDTO>(registrations).subList(0, 10);
+
+        populateGrid(registrations);
+        populateList(registrations);
+    }
+
+
+    public void populateGrid(Collection<RegistrationDTO> registrations) {
+
+        BeanContainer<String, RegistrationDTO> registrationItems = new BeanContainer<String, RegistrationDTO>(RegistrationDTO.class);
+        registrationItems.setBeanIdProperty("specificIdentifier");
+        registrationItems.addAll(registrations);
+
+        grid.setContainerDataSource(buildGeneratedProperties(registrationItems));
+
+        grid.removeAllColumns();
+
+        Column typeColumn = grid.addColumn("registrationType");
+        typeColumn.setRenderer(new HtmlRenderer(), new RegistrationTypeConverter());
+        typeColumn.setHeaderCaption("");
+
+        Column statusColumn = grid.addColumn("status");
+
+        Column citationColumn = grid.addColumn("citation");
+        citationColumn.setHeaderCaption("Publication");
+
+
+        Column summaryColumn = grid.addColumn("summary");
+
+        Column regidColumn = grid.addColumn("registrationId");
+        regidColumn.setHeaderCaption("Id");
+        regidColumn.setRenderer(new HtmlRenderer(), new UrlStringConverter("http://pyhcobank.org/"));
+
+        Column createdColumn = grid.addColumn("created");
+        createdColumn.setRenderer(new DateRenderer(), new JodaDateTimeConverter());
+        createdColumn.setHidable(true);
+        createdColumn.setHidden(true);
+
+        Column regDateColumn = grid.addColumn("registrationDate");
+        // regDateColumn.setHeaderCaption("Date");
+        regDateColumn.setRenderer(new DateRenderer(), new JodaDateTimeConverter());
+        regDateColumn.setHidable(true);
+        regDateColumn.setHidden(true);
+
+
+        Column buttonColumn = grid.addColumn("operation");
+        buttonColumn.setRenderer(new ButtonRenderer(e -> eventBus.publishEvent(new NavigationEvent(
+                RegistrationWorkflowViewBean.NAME,
+                RegistrationWorkflowViewBean.ACTION_EDIT,
+                e.getItemId().toString()
+                ))));
+        buttonColumn.setSortable(false);
+
+        grid.setFrozenColumnCount(1);
+
+    }
+
+
+    public void populateList(Collection<RegistrationDTO> registrations) {
+
+        for(RegistrationDTO regDto : registrations) {
+            Component lazyItem = new RegistrationItem(regDto, this); //new LazyLoadWrapper(new RegistrationItem(regDto, this));
+            lazyItem.setWidth(100, Unit.PERCENTAGE);
+            listContainer.addComponent(lazyItem);
+        }
+    }
+
+    /**
+     * @param registrationItems
+     * @return
+     */
+    private GeneratedPropertyContainer buildGeneratedProperties(
+            BeanContainer<String, RegistrationDTO> registrationItems) {
+        GeneratedPropertyContainer gpContainer = new GeneratedPropertyContainer(registrationItems);
+
+        gpContainer.addGeneratedProperty("operation", new PropertyValueGenerator<String>() {
+
+            @Override
+            public String getValue(Item item, Object itemId, Object propertyId) {
+                return "Open";
+            }
+
+            @Override
+            public Class<String> getType() {
+                return String.class;
+            }
+          });
+
+        return gpContainer;
+    }
+
+
+
+}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/view/registration/RegistrationTypeConverter.java b/src/main/java/eu/etaxonomy/cdm/vaadin/view/registration/RegistrationTypeConverter.java
new file mode 100644
index 00000000..386eeb1b
--- /dev/null
+++ b/src/main/java/eu/etaxonomy/cdm/vaadin/view/registration/RegistrationTypeConverter.java
@@ -0,0 +1,52 @@
+/**
+* Copyright (C) 2017 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.cdm.vaadin.view.registration;
+
+import java.util.Locale;
+
+import com.vaadin.data.util.converter.Converter;
+import com.vaadin.server.FontAwesome;
+
+import eu.etaxonomy.cdm.vaadin.presenter.registration.RegistrationType;
+
+/**
+ * @author a.kohlbecker
+ * @since Mar 7, 2017
+ *
+ */
+public class RegistrationTypeConverter implements Converter<String, RegistrationType> {
+    @Override
+    public RegistrationType convertToModel(String value, Class<? extends RegistrationType> targetType,
+            Locale locale) throws com.vaadin.data.util.converter.Converter.ConversionException {
+        // not implemented
+        return null;
+    }
+
+    @Override
+    public String convertToPresentation(RegistrationType value, Class<? extends String> targetType,
+            Locale locale) throws com.vaadin.data.util.converter.Converter.ConversionException {
+        if(value.equals(RegistrationType.NAME)) {
+            return FontAwesome.TAG.getHtml();
+        }
+        if(value.equals(RegistrationType.TYPIFICATION)) {
+            return FontAwesome.TAGS.getHtml();
+        }
+        return FontAwesome.WARNING.getHtml();
+    }
+
+    @Override
+    public Class<RegistrationType> getModelType() {
+        return RegistrationType.class;
+    }
+
+    @Override
+    public Class<String> getPresentationType() {
+        return String.class;
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/view/registration/RegistrationWorkflowView.java b/src/main/java/eu/etaxonomy/cdm/vaadin/view/registration/RegistrationWorkflowView.java
new file mode 100644
index 00000000..8f9b2dd6
--- /dev/null
+++ b/src/main/java/eu/etaxonomy/cdm/vaadin/view/registration/RegistrationWorkflowView.java
@@ -0,0 +1,44 @@
+/**
+* Copyright (C) 2017 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.cdm.vaadin.view.registration;
+
+import java.util.UUID;
+
+import com.vaadin.ui.CssLayout;
+import com.vaadin.ui.Label;
+
+import eu.etaxonomy.cdm.vaadin.presenter.registration.RegistrationType;
+import eu.etaxonomy.vaadin.mvp.ApplicationView;
+
+/**
+ * @author a.kohlbecker
+ * @since Mar 3, 2017
+ *
+ */
+public interface RegistrationWorkflowView extends ApplicationView{
+
+
+    CssLayout getWorkflow();
+
+    Label getTitle();
+
+
+    /**
+     * Open a popup editor for an existing TaxonName if the nameUuid is
+     * given otherwise a blank editor will open if the  nameUuid is null.
+     *
+     * @param nameUuid can be null
+     * @deprecated will be handled by the WorkflowItem
+     */
+    @Deprecated
+    void openNameEditor(UUID nameUuid);
+
+    public void makeWorflow(RegistrationType type);
+
+}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/view/registration/RegistrationWorkflowViewBean.java b/src/main/java/eu/etaxonomy/cdm/vaadin/view/registration/RegistrationWorkflowViewBean.java
new file mode 100644
index 00000000..3d548003
--- /dev/null
+++ b/src/main/java/eu/etaxonomy/cdm/vaadin/view/registration/RegistrationWorkflowViewBean.java
@@ -0,0 +1,151 @@
+/**
+* Copyright (C) 2017 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.cdm.vaadin.view.registration;
+
+import java.util.UUID;
+
+import org.springframework.beans.factory.annotation.Autowired;
+
+import com.vaadin.navigator.View;
+import com.vaadin.navigator.ViewChangeListener.ViewChangeEvent;
+import com.vaadin.spring.annotation.SpringView;
+import com.vaadin.ui.CssLayout;
+import com.vaadin.ui.Label;
+
+import eu.etaxonomy.cdm.vaadin.component.registration.RegistrationWorkflowComponent;
+import eu.etaxonomy.cdm.vaadin.component.registration.WorkflowSteps;
+import eu.etaxonomy.cdm.vaadin.event.registration.RegistrationWorkflowEvent;
+import eu.etaxonomy.cdm.vaadin.presenter.registration.RegistrationType;
+import eu.etaxonomy.cdm.vaadin.presenter.registration.RegistrationWorkflowPresenter;
+import eu.etaxonomy.vaadin.mvp.AbstractView;
+
+/**
+ * @author a.kohlbecker
+ * @since Mar 2, 2017
+ *
+ */
+@SpringView(name=RegistrationWorkflowViewBean.NAME)
+public class RegistrationWorkflowViewBean extends AbstractView<RegistrationWorkflowPresenter>
+    implements RegistrationWorkflowView, View {
+
+    private static final long serialVersionUID = -213040114015958970L;
+
+    public static final String NAME = "workflow";
+
+    public static final String ACTION_NEW = "new";
+
+    public static final String ACTION_EDIT = "edit";
+
+    public RegistrationType regType = null;
+
+    RegistrationWorkflowComponent design;
+
+    public RegistrationWorkflowViewBean() {
+        design = new RegistrationWorkflowComponent();
+        setCompositionRoot(design);
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public void enter(ViewChangeEvent event) {
+        if(event.getParameters() != null){
+           String[] params = event.getParameters().split("/");
+
+           if(params[0].equals(ACTION_NEW)) {
+               regType = RegistrationType.valueOf(params[1]);
+               design.getTitle().setValue(design.getTitle().getValue() + "  " + regType.name() + " ...");
+               eventBus.publishEvent(new RegistrationWorkflowEvent(regType));
+
+           } else if( params[0].equals(ACTION_EDIT)) {
+               design.getTitle().setValue(design.getTitle().getValue() + "  " + params[1]);
+               eventBus.publishEvent(new RegistrationWorkflowEvent(Integer.parseInt(params[1])));
+           }
+
+        }
+    }
+
+    @Override
+    public void makeWorflow(RegistrationType type){
+        switch (type) {
+        case NAME:
+            addNameWorkflow();
+            break;
+        case TYPIFICATION:
+            addTypificationWorkflow();
+            break;
+        default:
+            break;
+        }
+    }
+
+    /**
+    *
+    */
+   private void addNameWorkflow() {
+       WorkflowSteps steps = new WorkflowSteps();
+       steps.appendNewWorkflowItem(1, "Nomenclatural reference", null);
+       steps.appendNewWorkflowItem(2, "Name", null);
+       steps.appendNewWorkflowItem(3, "Publisher Details", null);
+       steps.appendNewWorkflowItem(4, "Data curation", null);
+       steps.appendNewWorkflowItem(5, "Awaiting publication", null);
+       getWorkflow().addComponent(steps);
+   }
+
+   /**
+   *
+   */
+  private void addTypificationWorkflow() {
+      WorkflowSteps steps = new WorkflowSteps();
+      steps.appendNewWorkflowItem(1, "Name", null);
+      steps.appendNewWorkflowItem(2, "Type information", null);
+      steps.appendNewWorkflowItem(3, "Publisher Details", null);
+      steps.appendNewWorkflowItem(4, "Data curation", null);
+      steps.appendNewWorkflowItem(5, "Awaiting publication", null);
+      getWorkflow().addComponent(steps);
+  }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Autowired
+    @Override
+    protected void injectPresenter(RegistrationWorkflowPresenter presenter) {
+        setPresenter(presenter);
+    }
+
+    /* ------- RegistrationWorkflowView implementation ------- */
+
+    /**
+     * @return the title
+     */
+    @Override
+    public Label getTitle() {
+        return design.getTitle();
+    }
+
+    /**
+     * @return the workflow
+     */
+    @Override
+    public CssLayout getWorkflow() {
+        return design.getWorkflow();
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public void openNameEditor(UUID nameUuid) {
+        // TODO Auto-generated method stub
+
+    }
+
+}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/view/registration/StartRegistrationView.java b/src/main/java/eu/etaxonomy/cdm/vaadin/view/registration/StartRegistrationView.java
new file mode 100644
index 00000000..50440263
--- /dev/null
+++ b/src/main/java/eu/etaxonomy/cdm/vaadin/view/registration/StartRegistrationView.java
@@ -0,0 +1,53 @@
+/**
+* Copyright (C) 2017 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.cdm.vaadin.view.registration;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.ApplicationEventPublisher;
+
+import com.vaadin.navigator.View;
+import com.vaadin.navigator.ViewChangeListener.ViewChangeEvent;
+import com.vaadin.spring.annotation.SpringView;
+
+import eu.etaxonomy.cdm.vaadin.design.registration.StartRegistrationDesign;
+import eu.etaxonomy.cdm.vaadin.presenter.registration.RegistrationType;
+import eu.etaxonomy.vaadin.ui.navigation.NavigationEvent;
+
+/**
+ * @author a.kohlbecker
+ * @since Mar 2, 2017
+ *
+ */
+@SpringView(name=StartRegistrationView.NAME)
+public class StartRegistrationView extends StartRegistrationDesign implements View {
+
+    private static final long serialVersionUID = -213040114015958970L;
+
+    public static final String NAME = "regStart";
+
+    @Autowired
+    ApplicationEventPublisher eventBus;
+
+    public StartRegistrationView() {
+        buttonName.addClickListener(e -> eventBus.publishEvent(new NavigationEvent(
+                RegistrationWorkflowViewBean.NAME,
+                RegistrationWorkflowViewBean.ACTION_NEW,
+                RegistrationType.NAME.name()
+                )));
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public void enter(ViewChangeEvent event) {
+
+    }
+
+}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/view/registration/TestView1.java b/src/main/java/eu/etaxonomy/cdm/vaadin/view/registration/TestView1.java
new file mode 100644
index 00000000..2d2bf9ed
--- /dev/null
+++ b/src/main/java/eu/etaxonomy/cdm/vaadin/view/registration/TestView1.java
@@ -0,0 +1,58 @@
+/**
+* Copyright (C) 2017 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.cdm.vaadin.view.registration;
+
+import javax.annotation.PostConstruct;
+
+import com.vaadin.navigator.View;
+import com.vaadin.navigator.ViewChangeListener.ViewChangeEvent;
+import com.vaadin.spring.annotation.SpringView;
+import com.vaadin.ui.Label;
+import com.vaadin.ui.VerticalLayout;
+
+/**
+ * @author a.kohlbecker
+ * @since Feb 24, 2017
+ *
+ */
+@SpringView(name=TestView1.NAME)
+/*
+ * MenuBeanDiscovery is not yet working with spring!!!!!
+@SpringComponent
+@Scope(scopeName = ViewScopeImpl.VAADIN_VIEW_SCOPE_NAME, proxyMode = ScopedProxyMode.TARGET_CLASS)
+@MenuItem(name="test", icon=FontAwesome.INFO_CIRCLE, order = 0)
+*/
+public class TestView1 extends VerticalLayout  implements View {
+
+    public static final String NAME = "test1";
+
+    private static final long serialVersionUID = 6152530138547633828L;
+
+    public TestView1(){
+        setWidth(100, Unit.PERCENTAGE);
+        setMargin(true);
+        this.addComponent(new Label("This is only a test!"));
+    }
+
+    @PostConstruct
+    protected void initialize() {
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public void enter(ViewChangeEvent event) {
+        // TODO Auto-generated method stub
+
+    }
+
+
+
+}
diff --git a/src/main/java/eu/etaxonomy/cdm/vaadin/view/registration/TestView2.java b/src/main/java/eu/etaxonomy/cdm/vaadin/view/registration/TestView2.java
new file mode 100644
index 00000000..03615314
--- /dev/null
+++ b/src/main/java/eu/etaxonomy/cdm/vaadin/view/registration/TestView2.java
@@ -0,0 +1,59 @@
+/**
+* Copyright (C) 2017 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.cdm.vaadin.view.registration;
+
+import javax.annotation.PostConstruct;
+
+import com.vaadin.navigator.View;
+import com.vaadin.navigator.ViewChangeListener.ViewChangeEvent;
+import com.vaadin.spring.annotation.SpringView;
+import com.vaadin.ui.Label;
+import com.vaadin.ui.VerticalLayout;
+
+/**
+ * @author a.kohlbecker
+ * @since Feb 24, 2017
+ *
+ */
+@SpringView(name=TestView2.NAME)
+/*
+ * MenuBeanDiscovery is not yet working with spring!!!!!
+@SpringComponent
+@Scope(scopeName = ViewScopeImpl.VAADIN_VIEW_SCOPE_NAME, proxyMode = ScopedProxyMode.TARGET_CLASS)
+@MenuItem(name="test", icon=FontAwesome.INFO_CIRCLE, order = 0)
+*/
+public class TestView2 extends VerticalLayout  implements View {
+
+    public static final String NAME = "test2";
+
+    private static final long serialVersionUID = 6152530138547633828L;
+
+    public TestView2(){
+        setWidth(100, Unit.PERCENTAGE);
+        setMargin(true);
+        this.addComponent(new Label("This is another test"));
+    }
+
+    @PostConstruct
+    protected void initialize() {
+
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public void enter(ViewChangeEvent event) {
+        // TODO Auto-generated method stub
+
+    }
+
+
+
+}
diff --git a/src/main/resources/eu/etaxonomy/cdm/vaadin/design/phycobank/DashBoardDesign.html b/src/main/resources/eu/etaxonomy/cdm/vaadin/design/phycobank/DashBoardDesign.html
deleted file mode 100644
index dbadbb1a..00000000
--- a/src/main/resources/eu/etaxonomy/cdm/vaadin/design/phycobank/DashBoardDesign.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!doctype html>
-<html>
- <head>
-  <meta charset="UTF-8">
-  <meta name="design-properties" content="{&quot;RULERS_VISIBLE&quot;:true,&quot;GUIDELINES_VISIBLE&quot;:false,&quot;SNAP_TO_OBJECTS&quot;:true,&quot;SNAP_TO_GRID&quot;:true,&quot;SNAPPING_DISTANCE&quot;:10,&quot;JAVA_SOURCES_ROOT&quot;:&quot;src/main/java&quot;,&quot;THEME&quot;:&quot;edit-valo&quot;}">
-  <meta name="vaadin-version" content="7.7.0">
- </head>
- <body>
-  <vaadin-vertical-layout>
-   <vaadin-label style-name="logo_giant phycobank-green" size-auto plain-text :center>
-     PhycoBank 
-   </vaadin-label>
-   <vaadin-label size-auto plain-text :center>
-     Algal names and typification registry 
-   </vaadin-label>
-   <vaadin-css-layout style-name="dashboard-actions" responsive _id="dashboard" :middle :center>
-    <vaadin-vertical-layout style-name="dashboard-action-3" spacing size-auto margin>
-     <vaadin-button icon="fonticon://FontAwesome/f044" style-name="borderless icon-align-top giant" plain-text _id="buttonNew" :middle :center>
-       New 
-     </vaadin-button>
-     <vaadin-label size-auto plain-text :center>
-       Start a new registration process either for a name or typification. 
-     </vaadin-label>
-    </vaadin-vertical-layout>
-    <vaadin-vertical-layout style-name="dashboard-action-3" spacing size-auto margin>
-     <vaadin-button icon="fonticon://FontAwesome/f061" style-name="borderless icon-align-top giant" plain-text _id="buttonContinue" :middle :center>
-       Continue 
-     </vaadin-button>
-     <vaadin-label size-auto plain-text :center>
-       Continue or review registrations in process. 
-     </vaadin-label>
-    </vaadin-vertical-layout>
-    <vaadin-vertical-layout style-name="dashboard-action-3" spacing size-auto margin>
-     <vaadin-button icon="fonticon://FontAwesome/f0ae" style-name="borderless icon-align-top giant" plain-text _id="buttonList" :middle :center>
-       List 
-     </vaadin-button>
-     <vaadin-label size-auto plain-text :center>
-       List all your registrations either completed or in progress. 
-     </vaadin-label>
-    </vaadin-vertical-layout>
-   </vaadin-css-layout>
-  </vaadin-vertical-layout>
- </body>
-</html>
\ No newline at end of file
diff --git a/src/main/resources/eu/etaxonomy/cdm/vaadin/design/phycobank/RegistrationItemDesign.html b/src/main/resources/eu/etaxonomy/cdm/vaadin/design/phycobank/RegistrationItemDesign.html
deleted file mode 100644
index c095011b..00000000
--- a/src/main/resources/eu/etaxonomy/cdm/vaadin/design/phycobank/RegistrationItemDesign.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<!doctype html>
-<html>
- <head>
-  <meta charset="UTF-8">
-  <meta name="design-properties" content="{&quot;RULERS_VISIBLE&quot;:true,&quot;GUIDELINES_VISIBLE&quot;:false,&quot;SNAP_TO_OBJECTS&quot;:true,&quot;SNAP_TO_GRID&quot;:true,&quot;SNAPPING_DISTANCE&quot;:10,&quot;JAVA_SOURCES_ROOT&quot;:&quot;src/main/java&quot;,&quot;THEME&quot;:&quot;edit-valo&quot;}">
-  <meta name="vaadin-version" content="7.7.0">
- </head>
- <body>
-  <vaadin-horizontal-layout style-name="registration-item" width-full>
-   <vaadin-vertical-layout :expand>
-    <vaadin-horizontal-layout spacing width-full height="34px" :middle>
-     <vaadin-label icon="fonticon://FontAwesome/f02b" style-name="label-nowrap" size-auto plain-text _id="typeStateLabel">
-       State 
-     </vaadin-label>
-     <vaadin-link caption="http://phycobank/100000" _id="identifierLink" :center :expand></vaadin-link>
-    </vaadin-horizontal-layout>
-    <vaadin-label plain-text _id="citationLabel">
-      Publication citation string 
-    </vaadin-label>
-    <vaadin-label plain-text _id="summaryLabel">
-      Publication citation string possibly spanning multiple lines 
-    </vaadin-label>
-   </vaadin-vertical-layout>
-   <vaadin-vertical-layout width-auto height-full>
-    <vaadin-css-layout style-name="v-component-group">
-     <vaadin-button icon="fonticon://FontAwesome/f071" enabled="false" style-name="tiny" plain-text _id="blockedByButton"></vaadin-button>
-     <vaadin-button icon="fonticon://FontAwesome/f075" enabled="false" style-name="tiny" plain-text _id="messageButton"></vaadin-button>
-     <vaadin-button icon="fonticon://FontAwesome/f085" style-name="tiny primary" plain-text _id="openButton"></vaadin-button>
-    </vaadin-css-layout>
-    <vaadin-vertical-layout size-full :bottom :right>
-     <vaadin-label caption="Created" style-name="label-nowrap" size-auto plain-text _id="createdLabel" :bottom :right>
-       12.12.2012 
-     </vaadin-label>
-     <vaadin-label caption="Published" style-name="label-nowrap" size-auto plain-text _id="publishedLabel" :bottom :right>
-       12.12.2012 
-     </vaadin-label>
-    </vaadin-vertical-layout>
-   </vaadin-vertical-layout>
-  </vaadin-horizontal-layout>
- </body>
-</html>
\ No newline at end of file
diff --git a/src/main/resources/eu/etaxonomy/cdm/vaadin/design/phycobank/RegistrationItemGridDesign.html b/src/main/resources/eu/etaxonomy/cdm/vaadin/design/phycobank/RegistrationItemGridDesign.html
deleted file mode 100644
index 5dc419fd..00000000
--- a/src/main/resources/eu/etaxonomy/cdm/vaadin/design/phycobank/RegistrationItemGridDesign.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!doctype html>
-<html>
- <head>
-  <meta charset="UTF-8">
-  <meta name="design-properties" content="{&quot;RULERS_VISIBLE&quot;:true,&quot;GUIDELINES_VISIBLE&quot;:false,&quot;SNAP_TO_OBJECTS&quot;:true,&quot;SNAP_TO_GRID&quot;:true,&quot;SNAPPING_DISTANCE&quot;:10,&quot;JAVA_SOURCES_ROOT&quot;:&quot;src/main/java&quot;,&quot;THEME&quot;:&quot;edit-valo&quot;}">
-  <meta name="vaadin-version" content="7.7.0">
- </head>
- <body>
-  <vaadin-grid-layout width-full>
-   <row>
-    <column>
-     <vaadin-label icon="fonticon://FontAwesome/f02b" style-name="label-nowrap" size-auto plain-text _id="typeStateLabel">
-       State 
-     </vaadin-label>
-    </column>
-    <column>
-     <vaadin-link caption="http://phycobank/100000" _id="identifierLink" :center></vaadin-link>
-    </column>
-    <column>
-     <vaadin-css-layout style-name="v-component-group" :right>
-      <vaadin-button icon="fonticon://FontAwesome/f071" enabled="false" style-name="tiny" plain-text _id="blockedByButton"></vaadin-button>
-      <vaadin-button icon="fonticon://FontAwesome/f075" enabled="false" style-name="tiny" plain-text _id="messageButton"></vaadin-button>
-      <vaadin-button icon="fonticon://FontAwesome/f085" style-name="tiny primary" plain-text _id="openButton"></vaadin-button>
-     </vaadin-css-layout>
-    </column>
-   </row>
-   <row>
-    <column>
-     <vaadin-label size-auto plain-text _id="citationLabel">
-       Publication citation string 
-     </vaadin-label>
-    </column>
-   </row>
-   <row></row>
-  </vaadin-grid-layout>
- </body>
-</html>
\ No newline at end of file
diff --git a/src/main/resources/eu/etaxonomy/cdm/vaadin/design/phycobank/RegistrationWorkflowDesign.html b/src/main/resources/eu/etaxonomy/cdm/vaadin/design/phycobank/RegistrationWorkflowDesign.html
deleted file mode 100644
index 580f3351..00000000
--- a/src/main/resources/eu/etaxonomy/cdm/vaadin/design/phycobank/RegistrationWorkflowDesign.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!doctype html>
-<html>
- <head>
-  <meta charset="UTF-8">
-  <meta name="design-properties" content="{&quot;RULERS_VISIBLE&quot;:true,&quot;GUIDELINES_VISIBLE&quot;:false,&quot;SNAP_TO_OBJECTS&quot;:true,&quot;SNAP_TO_GRID&quot;:true,&quot;SNAPPING_DISTANCE&quot;:10,&quot;JAVA_SOURCES_ROOT&quot;:&quot;src/main/java&quot;,&quot;THEME&quot;:&quot;edit-valo&quot;}">
-  <meta name="vaadin-version" content="7.7.0">
- </head>
- <body>
-  <vaadin-vertical-layout spacing>
-   <vaadin-label style-name="huge" size-auto plain-text _id="title" :center>
-     Registration of the 
-   </vaadin-label>
-   <vaadin-label size-auto plain-text :middle :center>
-     Advance step by step through the registration workflow for scientific names. 
-   </vaadin-label>
-   <vaadin-css-layout style-name="workflow" responsive _id="workflow" :center></vaadin-css-layout>
-  </vaadin-vertical-layout>
- </body>
-</html>
\ No newline at end of file
diff --git a/src/main/resources/eu/etaxonomy/cdm/vaadin/design/phycobank/StartRegistrationDesign.html b/src/main/resources/eu/etaxonomy/cdm/vaadin/design/phycobank/StartRegistrationDesign.html
deleted file mode 100644
index c12f2cc2..00000000
--- a/src/main/resources/eu/etaxonomy/cdm/vaadin/design/phycobank/StartRegistrationDesign.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!doctype html>
-<html>
- <head>
-  <meta charset="UTF-8">
-  <meta name="design-properties" content="{&quot;RULERS_VISIBLE&quot;:true,&quot;GUIDELINES_VISIBLE&quot;:false,&quot;SNAP_TO_OBJECTS&quot;:true,&quot;SNAP_TO_GRID&quot;:true,&quot;SNAPPING_DISTANCE&quot;:10,&quot;JAVA_SOURCES_ROOT&quot;:&quot;src/main/java&quot;,&quot;THEME&quot;:&quot;edit-valo&quot;}">
-  <meta name="vaadin-version" content="7.7.0">
- </head>
- <body>
-  <vaadin-vertical-layout spacing>
-   <vaadin-label style-name="huge" size-auto plain-text :center>
-     New Registration 
-   </vaadin-label>
-   <vaadin-label size-auto plain-text :middle :center>
-     What are you about to register, a scientific name or a typification for a name? 
-   </vaadin-label>
-   <vaadin-css-layout style-name="dashboard-actions" responsive _id="dashboard" :center>
-    <vaadin-vertical-layout style-name="dashboard-action-2" spacing size-auto margin>
-     <vaadin-button icon="fonticon://FontAwesome/f02b" style-name="borderless icon-align-top giant" plain-text _id="buttonName" :middle :center>
-       Name 
-     </vaadin-button>
-     <vaadin-label size-auto plain-text :center>
-       Start the registration process for a scientific name. 
-     </vaadin-label>
-    </vaadin-vertical-layout>
-    <vaadin-vertical-layout style-name="dashboard-action-2" spacing size-auto margin>
-     <vaadin-button icon="fonticon://FontAwesome/f02c" enabled="false" style-name="borderless icon-align-top giant" plain-text _id="buttonTypification" :middle :center>
-       Typification 
-     </vaadin-button>
-     <vaadin-label size-auto plain-text :center>
-       Start the registration process for a typification. 
-     </vaadin-label>
-    </vaadin-vertical-layout>
-   </vaadin-css-layout>
-  </vaadin-vertical-layout>
- </body>
-</html>
\ No newline at end of file
diff --git a/src/main/resources/eu/etaxonomy/cdm/vaadin/design/phycobank/WorkflowItemDesign.html b/src/main/resources/eu/etaxonomy/cdm/vaadin/design/phycobank/WorkflowItemDesign.html
deleted file mode 100644
index 343b91fe..00000000
--- a/src/main/resources/eu/etaxonomy/cdm/vaadin/design/phycobank/WorkflowItemDesign.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<!doctype html>
-<html>
- <head>
-  <meta charset="UTF-8">
-  <meta name="design-properties" content="{&quot;RULERS_VISIBLE&quot;:true,&quot;GUIDELINES_VISIBLE&quot;:false,&quot;SNAP_TO_OBJECTS&quot;:true,&quot;SNAP_TO_GRID&quot;:true,&quot;SNAPPING_DISTANCE&quot;:10,&quot;JAVA_SOURCES_ROOT&quot;:&quot;src/main/java&quot;,&quot;THEME&quot;:&quot;edit-valo&quot;}">
-  <meta name="vaadin-version" content="7.7.0">
- </head>
- <body>
-  <vaadin-css-layout style-name="workflow-item">
-   <vaadin-button icon="fonticon://FontAwesome/f111" style-name="borderless" plain-text _id="stepIndex">
-     1 
-   </vaadin-button>
-   <vaadin-label plain-text _id="caption">
-     Item for step 1 of the workflow 
-   </vaadin-label>
-  </vaadin-css-layout>
- </body>
-</html>
\ No newline at end of file
diff --git a/src/main/resources/eu/etaxonomy/cdm/vaadin/design/phycobank/WorkflowStepsDesign.html b/src/main/resources/eu/etaxonomy/cdm/vaadin/design/phycobank/WorkflowStepsDesign.html
deleted file mode 100644
index 493ee0b7..00000000
--- a/src/main/resources/eu/etaxonomy/cdm/vaadin/design/phycobank/WorkflowStepsDesign.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!doctype html>
-<html>
- <head>
-  <meta charset="UTF-8">
-  <meta name="design-properties" content="{&quot;RULERS_VISIBLE&quot;:true,&quot;GUIDELINES_VISIBLE&quot;:false,&quot;SNAP_TO_OBJECTS&quot;:true,&quot;SNAP_TO_GRID&quot;:true,&quot;SNAPPING_DISTANCE&quot;:10,&quot;JAVA_SOURCES_ROOT&quot;:&quot;src/main/java&quot;,&quot;THEME&quot;:&quot;edit-valo&quot;}">
-  <meta name="vaadin-version" content="7.7.0">
- </head>
- <body>
-  <vaadin-css-layout style-name="workflow" responsive>
-   <vaadin-css-layout style-name="timeline" width-full height="10px">
-    <vaadin-css-layout style-name="timeline-bar" width-full height="10px"></vaadin-css-layout>
-   </vaadin-css-layout>
-   <vaadin-css-layout style-name="steps" _id="steps"></vaadin-css-layout>
-  </vaadin-css-layout>
- </body>
-</html>
\ No newline at end of file
diff --git a/src/main/resources/eu/etaxonomy/cdm/vaadin/design/registration/DashBoardDesign.html b/src/main/resources/eu/etaxonomy/cdm/vaadin/design/registration/DashBoardDesign.html
new file mode 100644
index 00000000..dbadbb1a
--- /dev/null
+++ b/src/main/resources/eu/etaxonomy/cdm/vaadin/design/registration/DashBoardDesign.html
@@ -0,0 +1,44 @@
+<!doctype html>
+<html>
+ <head>
+  <meta charset="UTF-8">
+  <meta name="design-properties" content="{&quot;RULERS_VISIBLE&quot;:true,&quot;GUIDELINES_VISIBLE&quot;:false,&quot;SNAP_TO_OBJECTS&quot;:true,&quot;SNAP_TO_GRID&quot;:true,&quot;SNAPPING_DISTANCE&quot;:10,&quot;JAVA_SOURCES_ROOT&quot;:&quot;src/main/java&quot;,&quot;THEME&quot;:&quot;edit-valo&quot;}">
+  <meta name="vaadin-version" content="7.7.0">
+ </head>
+ <body>
+  <vaadin-vertical-layout>
+   <vaadin-label style-name="logo_giant phycobank-green" size-auto plain-text :center>
+     PhycoBank 
+   </vaadin-label>
+   <vaadin-label size-auto plain-text :center>
+     Algal names and typification registry 
+   </vaadin-label>
+   <vaadin-css-layout style-name="dashboard-actions" responsive _id="dashboard" :middle :center>
+    <vaadin-vertical-layout style-name="dashboard-action-3" spacing size-auto margin>
+     <vaadin-button icon="fonticon://FontAwesome/f044" style-name="borderless icon-align-top giant" plain-text _id="buttonNew" :middle :center>
+       New 
+     </vaadin-button>
+     <vaadin-label size-auto plain-text :center>
+       Start a new registration process either for a name or typification. 
+     </vaadin-label>
+    </vaadin-vertical-layout>
+    <vaadin-vertical-layout style-name="dashboard-action-3" spacing size-auto margin>
+     <vaadin-button icon="fonticon://FontAwesome/f061" style-name="borderless icon-align-top giant" plain-text _id="buttonContinue" :middle :center>
+       Continue 
+     </vaadin-button>
+     <vaadin-label size-auto plain-text :center>
+       Continue or review registrations in process. 
+     </vaadin-label>
+    </vaadin-vertical-layout>
+    <vaadin-vertical-layout style-name="dashboard-action-3" spacing size-auto margin>
+     <vaadin-button icon="fonticon://FontAwesome/f0ae" style-name="borderless icon-align-top giant" plain-text _id="buttonList" :middle :center>
+       List 
+     </vaadin-button>
+     <vaadin-label size-auto plain-text :center>
+       List all your registrations either completed or in progress. 
+     </vaadin-label>
+    </vaadin-vertical-layout>
+   </vaadin-css-layout>
+  </vaadin-vertical-layout>
+ </body>
+</html>
\ No newline at end of file
diff --git a/src/main/resources/eu/etaxonomy/cdm/vaadin/design/registration/RegistrationItemDesign.html b/src/main/resources/eu/etaxonomy/cdm/vaadin/design/registration/RegistrationItemDesign.html
new file mode 100644
index 00000000..c095011b
--- /dev/null
+++ b/src/main/resources/eu/etaxonomy/cdm/vaadin/design/registration/RegistrationItemDesign.html
@@ -0,0 +1,41 @@
+<!doctype html>
+<html>
+ <head>
+  <meta charset="UTF-8">
+  <meta name="design-properties" content="{&quot;RULERS_VISIBLE&quot;:true,&quot;GUIDELINES_VISIBLE&quot;:false,&quot;SNAP_TO_OBJECTS&quot;:true,&quot;SNAP_TO_GRID&quot;:true,&quot;SNAPPING_DISTANCE&quot;:10,&quot;JAVA_SOURCES_ROOT&quot;:&quot;src/main/java&quot;,&quot;THEME&quot;:&quot;edit-valo&quot;}">
+  <meta name="vaadin-version" content="7.7.0">
+ </head>
+ <body>
+  <vaadin-horizontal-layout style-name="registration-item" width-full>
+   <vaadin-vertical-layout :expand>
+    <vaadin-horizontal-layout spacing width-full height="34px" :middle>
+     <vaadin-label icon="fonticon://FontAwesome/f02b" style-name="label-nowrap" size-auto plain-text _id="typeStateLabel">
+       State 
+     </vaadin-label>
+     <vaadin-link caption="http://phycobank/100000" _id="identifierLink" :center :expand></vaadin-link>
+    </vaadin-horizontal-layout>
+    <vaadin-label plain-text _id="citationLabel">
+      Publication citation string 
+    </vaadin-label>
+    <vaadin-label plain-text _id="summaryLabel">
+      Publication citation string possibly spanning multiple lines 
+    </vaadin-label>
+   </vaadin-vertical-layout>
+   <vaadin-vertical-layout width-auto height-full>
+    <vaadin-css-layout style-name="v-component-group">
+     <vaadin-button icon="fonticon://FontAwesome/f071" enabled="false" style-name="tiny" plain-text _id="blockedByButton"></vaadin-button>
+     <vaadin-button icon="fonticon://FontAwesome/f075" enabled="false" style-name="tiny" plain-text _id="messageButton"></vaadin-button>
+     <vaadin-button icon="fonticon://FontAwesome/f085" style-name="tiny primary" plain-text _id="openButton"></vaadin-button>
+    </vaadin-css-layout>
+    <vaadin-vertical-layout size-full :bottom :right>
+     <vaadin-label caption="Created" style-name="label-nowrap" size-auto plain-text _id="createdLabel" :bottom :right>
+       12.12.2012 
+     </vaadin-label>
+     <vaadin-label caption="Published" style-name="label-nowrap" size-auto plain-text _id="publishedLabel" :bottom :right>
+       12.12.2012 
+     </vaadin-label>
+    </vaadin-vertical-layout>
+   </vaadin-vertical-layout>
+  </vaadin-horizontal-layout>
+ </body>
+</html>
\ No newline at end of file
diff --git a/src/main/resources/eu/etaxonomy/cdm/vaadin/design/registration/RegistrationItemGridDesign.html b/src/main/resources/eu/etaxonomy/cdm/vaadin/design/registration/RegistrationItemGridDesign.html
new file mode 100644
index 00000000..5dc419fd
--- /dev/null
+++ b/src/main/resources/eu/etaxonomy/cdm/vaadin/design/registration/RegistrationItemGridDesign.html
@@ -0,0 +1,37 @@
+<!doctype html>
+<html>
+ <head>
+  <meta charset="UTF-8">
+  <meta name="design-properties" content="{&quot;RULERS_VISIBLE&quot;:true,&quot;GUIDELINES_VISIBLE&quot;:false,&quot;SNAP_TO_OBJECTS&quot;:true,&quot;SNAP_TO_GRID&quot;:true,&quot;SNAPPING_DISTANCE&quot;:10,&quot;JAVA_SOURCES_ROOT&quot;:&quot;src/main/java&quot;,&quot;THEME&quot;:&quot;edit-valo&quot;}">
+  <meta name="vaadin-version" content="7.7.0">
+ </head>
+ <body>
+  <vaadin-grid-layout width-full>
+   <row>
+    <column>
+     <vaadin-label icon="fonticon://FontAwesome/f02b" style-name="label-nowrap" size-auto plain-text _id="typeStateLabel">
+       State 
+     </vaadin-label>
+    </column>
+    <column>
+     <vaadin-link caption="http://phycobank/100000" _id="identifierLink" :center></vaadin-link>
+    </column>
+    <column>
+     <vaadin-css-layout style-name="v-component-group" :right>
+      <vaadin-button icon="fonticon://FontAwesome/f071" enabled="false" style-name="tiny" plain-text _id="blockedByButton"></vaadin-button>
+      <vaadin-button icon="fonticon://FontAwesome/f075" enabled="false" style-name="tiny" plain-text _id="messageButton"></vaadin-button>
+      <vaadin-button icon="fonticon://FontAwesome/f085" style-name="tiny primary" plain-text _id="openButton"></vaadin-button>
+     </vaadin-css-layout>
+    </column>
+   </row>
+   <row>
+    <column>
+     <vaadin-label size-auto plain-text _id="citationLabel">
+       Publication citation string 
+     </vaadin-label>
+    </column>
+   </row>
+   <row></row>
+  </vaadin-grid-layout>
+ </body>
+</html>
\ No newline at end of file
diff --git a/src/main/resources/eu/etaxonomy/cdm/vaadin/design/registration/RegistrationWorkflowDesign.html b/src/main/resources/eu/etaxonomy/cdm/vaadin/design/registration/RegistrationWorkflowDesign.html
new file mode 100644
index 00000000..580f3351
--- /dev/null
+++ b/src/main/resources/eu/etaxonomy/cdm/vaadin/design/registration/RegistrationWorkflowDesign.html
@@ -0,0 +1,19 @@
+<!doctype html>
+<html>
+ <head>
+  <meta charset="UTF-8">
+  <meta name="design-properties" content="{&quot;RULERS_VISIBLE&quot;:true,&quot;GUIDELINES_VISIBLE&quot;:false,&quot;SNAP_TO_OBJECTS&quot;:true,&quot;SNAP_TO_GRID&quot;:true,&quot;SNAPPING_DISTANCE&quot;:10,&quot;JAVA_SOURCES_ROOT&quot;:&quot;src/main/java&quot;,&quot;THEME&quot;:&quot;edit-valo&quot;}">
+  <meta name="vaadin-version" content="7.7.0">
+ </head>
+ <body>
+  <vaadin-vertical-layout spacing>
+   <vaadin-label style-name="huge" size-auto plain-text _id="title" :center>
+     Registration of the 
+   </vaadin-label>
+   <vaadin-label size-auto plain-text :middle :center>
+     Advance step by step through the registration workflow for scientific names. 
+   </vaadin-label>
+   <vaadin-css-layout style-name="workflow" responsive _id="workflow" :center></vaadin-css-layout>
+  </vaadin-vertical-layout>
+ </body>
+</html>
\ No newline at end of file
diff --git a/src/main/resources/eu/etaxonomy/cdm/vaadin/design/registration/StartRegistrationDesign.html b/src/main/resources/eu/etaxonomy/cdm/vaadin/design/registration/StartRegistrationDesign.html
new file mode 100644
index 00000000..c12f2cc2
--- /dev/null
+++ b/src/main/resources/eu/etaxonomy/cdm/vaadin/design/registration/StartRegistrationDesign.html
@@ -0,0 +1,36 @@
+<!doctype html>
+<html>
+ <head>
+  <meta charset="UTF-8">
+  <meta name="design-properties" content="{&quot;RULERS_VISIBLE&quot;:true,&quot;GUIDELINES_VISIBLE&quot;:false,&quot;SNAP_TO_OBJECTS&quot;:true,&quot;SNAP_TO_GRID&quot;:true,&quot;SNAPPING_DISTANCE&quot;:10,&quot;JAVA_SOURCES_ROOT&quot;:&quot;src/main/java&quot;,&quot;THEME&quot;:&quot;edit-valo&quot;}">
+  <meta name="vaadin-version" content="7.7.0">
+ </head>
+ <body>
+  <vaadin-vertical-layout spacing>
+   <vaadin-label style-name="huge" size-auto plain-text :center>
+     New Registration 
+   </vaadin-label>
+   <vaadin-label size-auto plain-text :middle :center>
+     What are you about to register, a scientific name or a typification for a name? 
+   </vaadin-label>
+   <vaadin-css-layout style-name="dashboard-actions" responsive _id="dashboard" :center>
+    <vaadin-vertical-layout style-name="dashboard-action-2" spacing size-auto margin>
+     <vaadin-button icon="fonticon://FontAwesome/f02b" style-name="borderless icon-align-top giant" plain-text _id="buttonName" :middle :center>
+       Name 
+     </vaadin-button>
+     <vaadin-label size-auto plain-text :center>
+       Start the registration process for a scientific name. 
+     </vaadin-label>
+    </vaadin-vertical-layout>
+    <vaadin-vertical-layout style-name="dashboard-action-2" spacing size-auto margin>
+     <vaadin-button icon="fonticon://FontAwesome/f02c" enabled="false" style-name="borderless icon-align-top giant" plain-text _id="buttonTypification" :middle :center>
+       Typification 
+     </vaadin-button>
+     <vaadin-label size-auto plain-text :center>
+       Start the registration process for a typification. 
+     </vaadin-label>
+    </vaadin-vertical-layout>
+   </vaadin-css-layout>
+  </vaadin-vertical-layout>
+ </body>
+</html>
\ No newline at end of file
diff --git a/src/main/resources/eu/etaxonomy/cdm/vaadin/design/registration/WorkflowItemDesign.html b/src/main/resources/eu/etaxonomy/cdm/vaadin/design/registration/WorkflowItemDesign.html
new file mode 100644
index 00000000..343b91fe
--- /dev/null
+++ b/src/main/resources/eu/etaxonomy/cdm/vaadin/design/registration/WorkflowItemDesign.html
@@ -0,0 +1,18 @@
+<!doctype html>
+<html>
+ <head>
+  <meta charset="UTF-8">
+  <meta name="design-properties" content="{&quot;RULERS_VISIBLE&quot;:true,&quot;GUIDELINES_VISIBLE&quot;:false,&quot;SNAP_TO_OBJECTS&quot;:true,&quot;SNAP_TO_GRID&quot;:true,&quot;SNAPPING_DISTANCE&quot;:10,&quot;JAVA_SOURCES_ROOT&quot;:&quot;src/main/java&quot;,&quot;THEME&quot;:&quot;edit-valo&quot;}">
+  <meta name="vaadin-version" content="7.7.0">
+ </head>
+ <body>
+  <vaadin-css-layout style-name="workflow-item">
+   <vaadin-button icon="fonticon://FontAwesome/f111" style-name="borderless" plain-text _id="stepIndex">
+     1 
+   </vaadin-button>
+   <vaadin-label plain-text _id="caption">
+     Item for step 1 of the workflow 
+   </vaadin-label>
+  </vaadin-css-layout>
+ </body>
+</html>
\ No newline at end of file
diff --git a/src/main/resources/eu/etaxonomy/cdm/vaadin/design/registration/WorkflowStepsDesign.html b/src/main/resources/eu/etaxonomy/cdm/vaadin/design/registration/WorkflowStepsDesign.html
new file mode 100644
index 00000000..493ee0b7
--- /dev/null
+++ b/src/main/resources/eu/etaxonomy/cdm/vaadin/design/registration/WorkflowStepsDesign.html
@@ -0,0 +1,16 @@
+<!doctype html>
+<html>
+ <head>
+  <meta charset="UTF-8">
+  <meta name="design-properties" content="{&quot;RULERS_VISIBLE&quot;:true,&quot;GUIDELINES_VISIBLE&quot;:false,&quot;SNAP_TO_OBJECTS&quot;:true,&quot;SNAP_TO_GRID&quot;:true,&quot;SNAPPING_DISTANCE&quot;:10,&quot;JAVA_SOURCES_ROOT&quot;:&quot;src/main/java&quot;,&quot;THEME&quot;:&quot;edit-valo&quot;}">
+  <meta name="vaadin-version" content="7.7.0">
+ </head>
+ <body>
+  <vaadin-css-layout style-name="workflow" responsive>
+   <vaadin-css-layout style-name="timeline" width-full height="10px">
+    <vaadin-css-layout style-name="timeline-bar" width-full height="10px"></vaadin-css-layout>
+   </vaadin-css-layout>
+   <vaadin-css-layout style-name="steps" _id="steps"></vaadin-css-layout>
+  </vaadin-css-layout>
+ </body>
+</html>
\ No newline at end of file
