Added observer and subject interface to the project.