Added the generic runnable interface

This library uses the runnable interface to provide an homogeneous
interface for all thos chuncks of code that can be executed in another
thread or process.