allow injected sessions to be an existing transaction session, or get created within a workspace
make every resource that uses injectable sessions able to participate in transactions