Clean up the code and improve yard documentation
Add more documentation for propeller, interface, image_processor