Index: /trunk/PS-IPP-Config/lib/PS/IPP/Config.pm
===================================================================
--- /trunk/PS-IPP-Config/lib/PS/IPP/Config.pm	(revision 23455)
+++ /trunk/PS-IPP-Config/lib/PS/IPP/Config.pm	(revision 23456)
@@ -388,5 +388,5 @@
     }
 
-    return 1 if defined $self->{nebulous}; # Already started
+    return $self->{nebulous} if defined $self->{nebulous}; # Already started
 
     my $server = metadataLookupStr( $self->{_siteConfig}, 'NEB_SERVER' ); # Nebulous server
@@ -404,5 +404,17 @@
     $self->{nebulous} = $neb;
 
-    return 1;
+    return $neb;
+}
+
+sub nebulous
+{
+    my $self = shift;
+    carp "no parameters are allowed" if @_;
+
+    # check to see if we already have a live nebulous object
+    return $self->{nebulous} if defined $self->{nebulous};
+
+    # if not, call _neb_start() and return the new object
+    return _neb_start();
 }
 
@@ -421,6 +433,5 @@
 
         if ($scheme eq 'neb') {
-            $self->_neb_start() or ( carp "Can't start Nebulous" and return undef );
-            my $neb = $self->{nebulous}; # Nebulous handle
+            my $neb = $self->nebulous; # Nebulous handle
             if ($create_if_doesnt_exist) {
                 my $status = eval { $neb->stat( $name ); };
@@ -485,6 +496,5 @@
         $scheme = lc($scheme);
         if ($scheme eq 'neb') {
-            $self->_neb_start() or ( carp "Unable to start Nebulous" and return undef );
-            my $fh = eval { $self->{nebulous}->open_create( $name ); };
+            my $fh = eval { $self->nebulous->open_create( $name ); };
             if ($@ or not defined $fh) {
                 carp "Unable to open/create Nebulous handle $name";
@@ -524,6 +534,5 @@
         $scheme = lc($scheme);
         if ($scheme eq 'neb') {
-            $self->_neb_start() or ( carp "Unable to start Nebulous" and return undef );
-            my $fh = eval { $self->{nebulous}->open_create( $name ) };
+            my $fh = eval { $self->nebulous->open_create( $name ) };
             if ($@ or not defined $fh) {
                 carp "Unable to open/create Nebulous handle $name";
@@ -556,6 +565,5 @@
     my $scheme = file_scheme($name); # The scheme, e.g., file://, path://
     if (defined $scheme and lc($scheme) eq 'neb') {
-        $self->_neb_start() or ( carp "Unable to start Nebulous" and return undef );
-        $name = eval { $self->{nebulous}->create( $name ) };
+        $name = eval { $self->nebulous->create( $name ) };
         if ($@ or not defined $name) {
             carp "Unable to create Nebulous handle $name";
@@ -575,6 +583,5 @@
     my $scheme = file_scheme($name); # The scheme, e.g., file://, path://
     if (defined $scheme and lc($scheme) eq 'neb') {
-        $self->_neb_start() or ( carp "Unable to start Nebulous" and return undef );
-        my $found = eval { $self->{nebulous}->find_instances( $name ); };
+        my $found = eval { $self->nebulous->find_instances( $name ); };
         ( carp "Unable to find instances of Nebulous handle $name" and return undef ) if $@;
         return (defined $found ? 1 : 0);
@@ -595,6 +602,5 @@
     my $scheme = file_scheme($target); # The scheme, e.g., file://, path://
     if (defined $scheme and lc($scheme) eq 'neb') {
-        $self->_neb_start() or ( carp "Unable to start Nebulous" and return undef );
-        $target = eval { $self->{nebulous}->create( $target ); };
+        $target = eval { $self->nebulous->create( $target ); };
         if ($@ or not defined $target) {
             carp "Unable to create Nebulous handle";
@@ -646,6 +652,5 @@
     my $scheme = file_scheme($name); # The scheme, e.g., file://, path://
     if (defined $scheme and lc($scheme) eq 'neb') {
-        $self->_neb_start() or ( carp "Unable to start Nebulous" and return undef );
-        $status = eval { $self->{nebulous}->delete( $name ); };
+        $status = eval { $self->nebulous->delete( $name ); };
         ( carp "Unable to delete Nebulous handle $name" and return undef ) if $@;
     } else {
