Initial implementation
See xp-framework/rfc#283