Skeleton customization

This PR is a superset of #166 and #177, and besides some refactoring, it also adds some nice features (have a look at the documentation for more information about them).

ping @NinjDS @aggressivex.