This uses a bit of scripting so basic that I'm not even going to claim I designed it... What it does is allow your character to view his/her current quest at any time. NOTE: this only works for ONE quest at a time, so this is for linear gameplay. It essentially works in conjunction with ccoa's Universal Message System, and uses a script to create four extra $game_system.* variables.
Firstly, get ccoa's UMS and insert it above Main.
Then, create a script above Main with the code:
CODE
class Game_System
attr_accessor :quest_name
attr_accessor :quest
attr_accessor :name_holder
attr_accessor :actor_holder
end
To set variables, call a script in an event such as:
CODE
$game_system.quest_name = "Eye of Newt" #The name of the quest
$game_system.quest = "Collect six newt eyes and return them to the trader." #the quest description
Finally, to call them, make a parallel process, and have an conditional that initializes common event "Quest" on the pressing of a certain button.
Then, put this in the common event: (this might look a bit confusing, but the first bit of script swaps some variables so as to use ccoa's UMS, the text makes the needed commands to correctly use the UMS, and the final script puts all the variables back to where they started.)

And you get this, whenever you call the event:

I hope this helps someone!