Apparently this is discouraged for some mysterious reason, but if like me you want to have nice code where models are used from within components (so you don’t have to clutter up your controllers or shell classes), here’s how:

$this->ModelName = ClassRegistry::init('ModelName');

Source

For example, you can place it like this at the start of your component’s definition:

public function __construct() {
    $this->Message = ClassRegistry::init('Message');
}