scattered thoughts as I try to work out an architecture