Yeah be data driven and optimize the hot data path, the other code paths optimize for simplicity (and the majority of a system is the latter)