Refactor the get/set methods of controllers to provide more flexibility
on the engine API.

Now, controller implementation's must update their properties from the
ui by the set(String) method. In the connector implementation, the
set(StateName, StateValue) is recommanded to prevent from errors.