Interaction among Objects via Roles -- Sessions and Affordances in Java