Designing and Programming Organizational Infrastructures for Agents situated in Artifact-based Environments