@Override
    public void propertyChange(PropertyChangeEvent pce) {
        if (pce.getSource() instanceof AbstractModel) {
            registeredViews.forEach(x -> x.modelPropertyChange(pce));
        } else if (pce.getSource() instanceof AbstractView) {
            registeredModels.forEach(x -> x.viewPropertyChange(pce));
        }
    }