http://php.net/manual/en/language.oop5.traits.php
http://php.net/manual/en/language.types.callable.php
https://www.youtube.com/watch?v=gFJsBQIqpto - callbacks
http://net.tutsplus.com/tutorials/php/the-whens-and-whys-for-php-design-patterns/
http://net.tutsplus.com/articles/general/a-beginners-guide-to-design-patterns/ - done reading
http://www.sitepoint.com/book-review-practical-design-patterns-php
https://www.sitepoint.com/understanding-the-factory-method-design-pattern/
https://www.sitepoint.com/understanding-the-observer-pattern/ - done reading
http://www.phptherightway.com/pages/Design-Patterns.html - done reading
https://www.sitepoint.com/practical-aspects-of-the-adapter-pattern/ - done reading
https://code.tutsplus.com/tutorials/design-patterns-the-observer-pattern--cms-22975
https://sourcemaking.com/design_patterns/observer/php
Callbacks:
http://stackoverflow.com/questions/48947/how-do-i-implement-a-callback-in-php
http://stackoverflow.com/questions/28954168/php-how-to-use-a-class-function-as-a-callback
http://stackoverflow.com/questions/231327/what-is-a-callback-function-and-how-do-i-use-it-with-oop
https://www.sitepoint.com/community/t/example-of-a-callback-in-php/2367
http://www.binarytides.com/php-implementing-callbacks-with-anonymous-lambda-functions/
http://www.elated.com/articles/php-anonymous-functions/
https://www.tutorialspoint.com/php/php_function_array_map.htm
https://www.exakat.io/the-art-of-php-callback/