A lightweight behavior framework for ImpactJS