Needs to be some way to "name" items in a template. Maybe it should match the class for styling? Just so you don't have to build a big list of vars when initializing your component. E.g. foo = comp.firstChild; bar = foo.children[4], etc... Maybe can specify onmouseover, etc, in the template, but perhaps the functions that get attached are scoped to the component class. E.g. onclick="foo" will actually be converted to onclick="parentComponent.foo" Each template can have a list of named slots where children go into, with helpers for adding/removing/etc those children Maybe some way to optimize events on a list of children; e.g. don't need a click handler on every child, jsut the parent with a little extra logic to determine if we should propagate event to child. May need a wrapper to handle some events specially, for example, mouseenter/mouseleave. Definitely need to be able to use nested/tree-style template variables. Also think there should be some data flow, like server -> subscriber -> filter -> template; maybe just have a generic "generator/consumer" interfaces, and then have some utilities for routing the data; e.g. server = generator, filter = generator+consumer, template = consumer Maybe server and tempaltes can be consumers / generators respectively as well?? I guess you want to eventually route data from a form back to the server, so that would be useful