argument-based javascript framework