Observer pattern library with a focus on dynamically extensible dependencies