FACES-2025 Add MessageContextFactory and refactor MessageContext implementations to take advantage of factory discovery