#pragma once

#include <iostream>

/*!
	Module base class
*/
template <typename T>
class Module
{
public:
	Module() {
		m_name = typeid(T).name();
	}
	virtual void start() {
		std::cout << "START " << m_name << std::endl;
	};
	virtual void stop() {
		std::cout << "STOP " << m_name << std::endl;
	};
private:
	const char * m_name;
};

