BDI Agents with Objectives and Preferences