Open the API to allow for more extensibility

Idea created by bsundsbo on May 2, 2014
    I've been implementing custom layers and other functionality, and I often run into situations where classes or methods are sealed, functionality is missing (internal/private) which is a bit frustrating. As with TiledLayer, I would love to have functionality to get the extent from level/col/row. With Tasks, I would like to be able to derive from them though I'm not sure how well it would make sense to override these. For layers, easier acces to spesific events for extent changed and other events from the map, etc.

    I don't have any other spesifics, but in the years I've been working with this API, i frequently run into situations where methods are not available to me.