You can create an object and then register it for remoting using the RemotingServices.Marshal method.

Something like

Foo f = new Foo();
f.SomeEvent += ...;
RemotingServices.Marshal(f);
System.Runtime.Remoting.RemotingConfiguration.RegisterWellKnownServiceType(GetType(Foo), "FOOService", Runtime.Remoting.WellKnownObjectMode.Singleton);