Refactor to seperate files

* Implement timeout clearing
Update package.json keywords