Refactored the activate/fail functions in wake into _activate/_deactivate methods of Widget
Updated docs
Added TODOs
Added docs;
Some refactoring;
Added TODOs