-/*! @method title:
- * @abstract Returns the title of the plugin, which should be player name.
- * @result An NSString containing the title.
- */
-- (NSString *)title;
-
-/*! @method description:
- * @abstract Returns a description of the remote.
- * @result An NSString containing the description.
- */
-- (NSString *)information;
-
-/*! @method icon:
- * @abstract Returns a icon for the remote.
- * @result An NSImage containing the icon.
- */
-- (NSImage *)icon;
-
-/*! @method begin:
- * @abstract Sent when the plugin should begin operation.
- * @result A result code signifying success.
- */
-- (BOOL)begin;
-
-/*! @method halt:
- * @abstract Sent when the plugin should cease operation.
- * @result A result code signifying success.
- */
-- (BOOL)halt;
-
-/*! @method isAppRunning:
- * @abstract Returns controlled application's running status (is or isn't running).
- * @result BOOL of the controlled application's running status.
- */
-- (BOOL)isAppRunning;
-
-/*! @method playerState:
- * @abstract Returns controlled application's playing state.
- * @result ITMTRemotePlayerState of the controlled application's playing state.
- */
-- (ITMTRemotePlayerState)playerState;
-
-- (NSArray *)playlists;
-- (int)numberOfSongsInPlaylistAtIndex:(int)index;
-- (NSString *)classOfPlaylistAtIndex:(int)index;
-- (int)currentPlaylistIndex;
-
-- (NSString *)songTitleAtIndex:(int)index;
-- (int)currentSongIndex;
-
-- (NSString *)currentSongTitle;
-- (NSString *)currentSongArtist;
-- (NSString *)currentSongAlbum;
-- (NSString *)currentSongGenre;
-- (NSString *)currentSongLength;
-- (NSString *)currentSongRemaining;
-
-- (float)currentSongRating;
-- (BOOL)setCurrentSongRating:(float)rating;
-
-- (NSArray *)eqPresets;
-- (int)currentEQPresetIndex;
-
-- (float)volume;
-- (BOOL)setVolume:(float)volume;
-
-- (BOOL)play;
-- (BOOL)pause;
-- (BOOL)goToNextSong;
-- (BOOL)goToPreviousSong;
-- (BOOL)fastForward;
-- (BOOL)rewind;
-
-- (BOOL)switchToPlaylistAtIndex:(int)index;
-- (BOOL)switchToSongAtIndex:(int)index;
-- (BOOL)switchToEQAtIndex:(int)index;
-
+/*!
+ @method valueOfProperty:
+*/
+- (id)valueOfProperty:(ITMTRemoteProperty)property;
+
+/*!
+ @method propertiesAndValues
+*/
+- (NSDictionary *)propertiesAndValues;
+
+/*!
+ @method playerStyle
+ @result An ITMTPlayerStyle defining how the remote works with players and playlists.
+*/
+- (ITMTPlayerStyle)playerStyle;
+
+/*!
+ @method activate
+ @result A BOOL indicating success or failure.
+*/
+- (BOOL)activate;
+/*!
+ @method deactivate
+ @result A BOOL indicating success or failure.
+*/
+- (BOOL)deactivate;
+
+/*!
+ @method currentPlayer
+ @result An ITMTPlayer object representing the currently active player that the remote is controlling.
+*/
+- (ITMTPlayer *)currentPlayer
+/*!
+ @method players
+ @result An NSArray filled with ITMTPlayer objects.
+*/
+- (NSArray *)players;