Moving returned type of observable and observer interface