Define needed interfaces
Implemented the Gillespie algorithm
Updated description to mention the gillespie algorithm