Forward declarations for std::stack are not standard conformant.

Forward declarations for std::stack are not standard conformant. Implementations (like the one I am using) are allowed to require complete types.

'if ( !transactions.size( ) > 1 )' is useless because it always returns false. Even the correct version without the ! does not catch the case of the missing last transaction.
Yes, that`s true.
To reduce compile time it would be better to not include eventSystem/EventSystem.hpp at all and replace it with events/eventTask.hpp and a forward declaration of template class Environment.
Is there any reason except lazyness/ease of use to always include the whole event system through eventSystem/EventSystem.hpp instead of the required parts?