You should document what is the expected API of metric when it is a callable.