Extension framework