Fix broken build by moving implementations to cpp files

Signed-off-by: Sup Yut Sum <ch3cooli@gmail.com>
Unbreak VS2012

Signed-off-by: Sup Yut Sum <ch3cooli@gmail.com>
Use smart pointer

Signed-off-by: Sup Yut Sum <ch3cooli@gmail.com>
Tabify

Signed-off-by: Yue Lin Ho <b8732003@student.nsysu.edu.tw>
Signed-off-by: Sven Strickroth <email@cs-ware.de>
Drop unused defines

Signed-off-by: Sven Strickroth <email@cs-ware.de>
Fix casing of include definition

Signed-off-by: Sven Strickroth <email@cs-ware.de>
Use lambda methods for task actions

Signed-off-by: Sven Strickroth <email@cs-ware.de>