See the tutorial at: http://penrose.safehaus.org/tutorials/penrose-1.1/creating-source/creating-source.html