Add README
Refactor

* Extract knowledge which type of method to define to a private method
* Rename defined_before? to previously_defined?