Some little bit note:
Good architect rule - use extending primarily instead of inheritance.
I would like to use both containers, regular and lazy; my application class is BrainFuckingApp.
Q: what class is candidate as parent for BrainFuckingApp?
A: To be more flexible library storage classes would be designed as Extending/Attachable/Pluggable components, that extends existing abstract Application with some specific behaviour. In that case library storages can be applied to any type of Application instances in existing or new projects.