Question: I have an object that takes a parameter in the constructor. I was wondering how I can serve this from Pyro4. An Example:

```
import Pyro4

class MyPyroThing(object):
    def __init__(self, theNumber):
        self.Number = theNumber

Pyro4.Daemon.serveSimple(
    {
        MyPyroThing(): None
    },
    ns=True, verbose=True)

```

This **fails** of course because the constructor must have a parameter.

And when this is solved, how do you invoke such object?

```
theThing = Pyro4.Proxy("PYRONAME:MyPyroThing")

```

**EDIT:**

I think this question was not written correctly, see my answer below.

Answer: 
The answers above where not what I was really asking, meaning I explained my question badly. Mea Culpa.

I wanted to invoke an instance on the client. But that is not how Pyro4 works at all. A class in instantiated on the server and this instance is transmitted over the wire.

After mailing [Irmin](http://www.razorvine.net/) (the original developer) it came clear to me how Pyro4 works.

So, what I do now is use a factory pattern where I ask the factory to give me an instance of an object. For instance:

```
psf = Pyro4.Proxy("PYRONAME:MyApp.Factories.ProductFactory")
product = psf.GetProductOnButton(buttonNoPressed, parentProductId)

```

product is an instance of the Product() class. Because the instance is registered in the Pyro daemon, i can call methods on this instance of Product() too. Look at the shoppingcart example to know where I got my eureka moment.
Instead of using `Pyro4.Daemon.serveSimple` you can:

* Get the name server using `Pyro4.locateNS`
* Create a `Pyro4.Daemon` object
* Create the objects you need to expose
* Use the daemon `register` method to make them available
* Use the name server `register` method to provide a name to uri mapping
* Start the daemon loop

The code would be more or less as follows:

```
import Pyro4

name_server = Pyro4.locateNS()
daemon = Pyro4.Daemon()
my_object = MyPyroThing(parameter)
my_object_uri = daemon.register(my_object)
name_server.register('MyPyroThing', my_object_uri)

daemon.requestLoop()

```

After this, `my_object` URI will be available in the name server as `MyPyroThing`.