def move_process(activity_log, env, mover, destination, engine_order=1.0):
    """Returns a generator which can be added as a process to a simpy.Environment. In the process, a move will be made
    by the mover, moving it to the destination.

    activity_log: the core.Log object in which log_entries about the activities progress will be added.
    env: the simpy.Environment in which the process will be run
    mover: moves from its current position to the destination
           should inherit from core.Movable
    destination: the location the mover will move to
                 should inherit from core.Locatable
    engine_order: optional parameter specifying at what percentage of the maximum speed the mover should sail.
                  for example, engine_order=0.5 corresponds to sailing at 50% of max speed
    """
    activity_log.log_entry('started move activity of {} to {}'.format(mover
        .name, destination.name), env.now, -1, mover.geometry, activity_log.id)
    with mover.resource.request() as my_mover_turn:
        yield my_mover_turn
        mover.ActivityID = activity_log.id
        yield from mover.move(destination=destination, engine_order=
            engine_order)
    activity_log.log_entry('completed move activity of {} to {}'.format(
        mover.name, destination.name), env.now, -1, mover.geometry,
        activity_log.id)
