moving observer update returned type