Playing with properties, blocks and metaprogramming tasks