Class library that can be used to easily coordinate synchronous and asynchronous activities in complex ways