Encapsulate task and task definition in container class for alias tasks
re-factor the way output is handled. Implement restart action