// For best example of this pattern is
    // StrangeIoC https://strangeioc.github.io/strangeioc/
    // Zenject https://github.com/modesttree/Zenject
    void Start()
    {
        var ballObserver1 = new Ball(Ball1, new JumpHigh());
        var ballObserver2 = new Ball(Ball2, new JumpLittle());
        var ballObserver3 = new Ball(Ball3, new JumpMedium());

        messenger.AddObserver(ballObserver1);
        messenger.AddObserver(ballObserver2);
        messenger.AddObserver(ballObserver3);
    }