templated config::table class for more flexible derivation