Container extensions

Refactoring the containers Api to introduce definition classes