First cut of behavior factory implementation