How to ensure the same object is returned as a result of serialization (singleton contract).