Index: gtkfrontend/Makefile.am
===================================================================
--- gtkfrontend/Makefile.am	(revision 210c106367dfc6fda302798f828c2d46a1043c1c)
+++ gtkfrontend/Makefile.am	(revision 9fab49891e625fc7462d3680535dcf4f8c5207f7)
@@ -16,4 +16,5 @@
 	addfiledialogview.vala \
 	addprofiledialogview.vala \
+	app.vala \
 	builderslist.vala \
 	closeconfirmationdialog.vala \
Index: gtkfrontend/app.vala
===================================================================
--- gtkfrontend/app.vala	(revision 9fab49891e625fc7462d3680535dcf4f8c5207f7)
+++ gtkfrontend/app.vala	(revision 9fab49891e625fc7462d3680535dcf4f8c5207f7)
@@ -0,0 +1,51 @@
+/* app.vala
+ *
+ * Copyright (C) 2010  Matias De la Puente
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ * Author:
+ * 	Matias De la Puente <mfpuente.ar@gmail.com>
+ */
+
+public class I4uc.GtkFrontend.App : GLib.Object
+{
+	private ViewFactory _view_factory = new ViewFactory ();
+	
+	private DocumentsView _documents_view;
+	private MainWindowView _main_window_view = new MainWindowView ();
+	private ProgrammersView _programmers_view;
+	private ProjectsView _projects_view;
+	
+	private I4uc.Core.DocumentsLogic _documents_logic;
+	private I4uc.Core.MainWindowLogic _main_window_logic;
+	private I4uc.Core.ProgrammersLogic _programmers_logic;
+	private I4uc.Core.ProjectsLogic _projects_logic;
+	
+	private I4uc.Core.Settings _settings = new I4uc.Core.Settings ();
+	
+	public I4uc.Core.ViewFactory view_factory { get { return _view_factory; } }
+	
+	public I4uc.Core.DocumentsView documents_view { get { return _documents_view; } }
+	public I4uc.Core.MainWindowView main_window_view { get { return _main_window_view; } }
+	public I4uc.Core.ProgrammersView programmers_view { get { return _programmers_view; } }
+	public I4uc.Core.ProjectsView projects_view { get { return _projects_view; } }
+	
+	public I4uc.Core.DocumentsLogic documents_logic { get { return _documents_logic; } }
+	public I4uc.Core.MainWindowLogic main_window_logic { get { return _main_window_logic; } }
+	public I4uc.Core.ProgrammersLogic programmers_logic { get { return _programmers_logic; } }
+	public I4uc.Core.ProjectsLogic projects_logic { get { return _projects_logic; } }
+	
+	public I4uc.Core.Settings settings { get { return _settings; } }
+}
Index: libi4uccore/Makefile.am
===================================================================
--- libi4uccore/Makefile.am	(revision 210c106367dfc6fda302798f828c2d46a1043c1c)
+++ libi4uccore/Makefile.am	(revision 9fab49891e625fc7462d3680535dcf4f8c5207f7)
@@ -38,4 +38,5 @@
 	addprofiledialoglogic.vala \
 	addprofiledialogview.vala \
+	app.vala \
 	builder.vala \
 	builderslist.vala \
Index: libi4uccore/app.vala
===================================================================
--- libi4uccore/app.vala	(revision 9fab49891e625fc7462d3680535dcf4f8c5207f7)
+++ libi4uccore/app.vala	(revision 9fab49891e625fc7462d3680535dcf4f8c5207f7)
@@ -0,0 +1,37 @@
+/* app.vala
+ *
+ * Copyright (C) 2010  Matias De la Puente
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ * Author:
+ * 	Matias De la Puente <mfpuente.ar@gmail.com>
+ */
+
+public interface I4uc.Core.App : GLib.Object
+{
+	public abstract ViewFactory view_factory { get; }
+
+	public abstract DocumentsView documents_view { get; }
+	public abstract MainWindowView main_window_view { get; }
+	public abstract ProgrammersView programmers_view { get; }
+	public abstract ProjectsView projects_view { get; }
+	
+	public abstract DocumentsLogic documents_logic { get; }
+	public abstract MainWindowLogic main_window_logic { get; }
+	public abstract ProgrammersLogic programmers_logic { get; }
+	public abstract ProjectsLogic projects_logic { get; }
+
+	public abstract Settings settings { get; }
+}
