Behaviors generally speaking are used only to decorate elements on the page. If you have a behavior that needs to refer to some global property (user data for example) I'd use the passMethod/passMethods argument to pass in getters for them to your filters. So your filter can do api.get('userdata') or whatever. Now you can easily search for and support that API.
But putting behaviors on the document body doesn't really get you anything (unless you are really decorating the body). Instead, I'd instantiate these things and then pass them to behavior. Like so:
var user = new User(...);
var storage = new Storage(...);
var b = new Behavior();
b.passMethods({
getUser: Function.from(user),
getStorage: Function.from(storage)
});