A framework for building programmable (web) applications