Rewrote initial descriptor post. Broke the observer implementation into a new post.