+ /**
+ * Adds contact data to database and redirects on success. If the contact is
+ * already found, a proper exception is thrown.
+ * <p>
+ * @return Redirect outcome
+ */
+ String addContact ();
+
+ /**
+ * Returns a list of all found contacts
+ * <p>
+ * @return A list of all contacts.
+ */
+ List<Contact> allContacts ();
+
+ /**
+ * Checks whether there are contacts.
+ * <p>
+ * @return Whether contacts are there
+ */
+ boolean hasContacts ();
+
+ /**
+ * Creates an instance from contact data
+ * <p>
+ * @return New contact instance
+ */
+ Contact createContactInstance ();
+