Declarative, data-centered, event-driven programming engine