Describes a mission which can be instantiated at a Mission Controller with a set of given interfaces.

Factory Messages
create Creates a new mission with no values set

Operational Messages
name: aName self Names the mission aName
interface: anInterface self Adds an interface requirement to the mission
interfaces P2Object Returns the set of interfaces specified to the mission
policy: aBlock self Adds an unnamed policy in the form of aBlock to the mission
policy: aName is: aBlock self Adds a policy block, aBlock, with the name aName
policies P2Object Returns a hash of policies given to the mission. The has is indexed by the policy name
onStart: aBlock self executes aBlock when the mission is started
onStart P2Object returns the start block
onStop: aBlock self executes aBlock when the mission is stopped
onStop P2Object returns the stop block
at: aName P2Object Returns the policy with the name aName