Added extension API's and made core more extensible.