Spreadsheets provide powerful but simple control constructs. Possibly the most important source of control in a spreadsheet is the maintenance of dependencies between cell values. In research at Warwick this principle of automatically maintaining dependencies has been used in a number of more general modelling notations. This paper suggests that using this spreadsheet principle as the basis of a programming paradigm would be useful for prototype generation, user-interface design and end user programming. A generalisation of dependency maintenance is introduced to allow the construction of higher-order dependency structures, such as dependencies between cell formulae. The introduction of higher-order dependency means that more dynamic systems can be made whilst remaining within the framework, and takes us nearer to a more general programming paradigm.