In this paper, we present our approach to developing a multiagent system based on the proposed complex concept of the mission. The mission is a high-level abstraction that combines the overall goal of a system, the means, and the process of achieving that goal, from which agents can be automatically generated. We propose a mechanism to generate agents on-demand and at run-time rather than at the design stage. Functionalities are given to the agents at run-time also. Programmatically, a mission is a live object where it maintains not only the various revisions of the plan but also the state and data for each revision. By doing so, our system is able to suspend and resume the mission. Furthermore, we envisage that the mission execution history is useful for the planner so that it can learn from it and hence produce a better plan in the future. We discuss the concept of the mission object, our programmatic model as well as our prototype system, which we call eHermes.