Shade and make dependencies optional.
Add getIfPresent() methods.
Add a Profile object.