aka ViewObject??? Hmm...how about defining this as an object that fires systems events? These events are defined by data. It may be beneficial to have the GatewayObject publish the data into an ArgumentObject and use it as the data source for the ControllerObject. This allows the same ControllerObject to service different input forms - whether they be by win32 client application, web application or XML data feed. -- DanGreen