Add yard documents.
Add abstract methods.
Refactor specs.
Rename Hook class to Hookable & change namespace.
Add Handlerable class to use to handler base abstract class.
Split Executable class to Executes module & change namespace.
Move SimpleFormatter class to core extensions.
Merge branch 'refactor/all'