Can be used by the user to define interfaces;

A user may want to position an interface relative to an existing interface. By making #geometry public, this can be achieved.
Emit #top and #left as synonyms for #y and #x;

This matches the interface with regards to #bottom and #right; a user will expect to use top and left.
Create a friendly DSL for interface and commands;

Rather than "ugly and complicated" hash syntax, a user can now define an interface (or command) using a simpler syntax:

    interface 'example', { colour: { background: '#ff0000', foreground: '#000000' }, ... }

becomes

	interface 'example' do
      colour background: '#ff0000', foreground: '#000000'
      ...
    end