why do we need to explicitly add behaviours to container?
Can't we do that as part of `chain.Add<T>` ?