Title: Advanced oo design

Nice code eh!

Nice code eh!

Nice code eh!

Nice code eh!

Nice code eh!

Nice code eh!

Nice code eh!

Nice code eh!

Nice code eh!