Observable and Observer implementation.