Observer - not finished. Some features do not work correctly.