improve container provider methods
add container model
add hydratable trair

for future
only hydrate components at the moment
add container hydrator (for future)
rename abstract models to AbstractClassName
update deps