Initial work on form abstraction