This might be problematic... maybe we could use some internal mechanism that could pass the key instead of a type.