A task cancellation library for Eiffel programming language