fixed the test to the temporary situation where width is no longer being copied down
added Observer pattern interface