added observer protocol python module