I guess next step for the observer will be "get ApplicationData from  id", so maybe it is better to pass scoped_refptr<ApplicationData> application ?