Changes to properly support Observer and Bridge patterns.